[comp.windows.ms.programmer] BC++ in protected mode -- how?

hugh@slee01.srl.ford.com (Hugh Fader) (06/06/91)

I just installed BC++. I tried to compile the windows hello world
example but it seemed to be taking a very long time so I broke out of
the compile. Then I remembered a discussion on this group a while back
about how much faster compiles run in protected mode.

Here's where I ran into a problem. Borland's instructions for running
BCX, the protected mode compiler, are to run tkernel, then bcx.
However, tkernel seems to clash with himem.sys and smartdrive.sys. If
these are installed, when I try to run bcx I get an error message
indicating tkernel requires 576K. I think himem.sys is giving all my
extended memory to smartdrive.sys.

Can anyone help? Is tkernel required when I have himem.sys?  My
hardware is Compudyne 16/386SX with 2 MB of memory.

Thanks in advance.
--
Hugh Fader
hugh@slee01.srl.ford.com

dsb@mbunix.mitre.org (06/06/91)

In article <43289@fmsrl7.UUCP> hugh@slee01.srl.ford.com (Hugh Fader) writes:
>I just installed BC++. I tried to compile the windows hello world
>example but it seemed to be taking a very long time so I broke out of
>the compile. Then I remembered a discussion on this group a while back
>about how much faster compiles run in protected mode.
>
>Here's where I ran into a problem. Borland's instructions for running
>BCX, the protected mode compiler, are to run tkernel, then bcx.
>However, tkernel seems to clash with himem.sys and smartdrive.sys. If
>these are installed, when I try to run bcx I get an error message
>indicating tkernel requires 576K. I think himem.sys is giving all my
>extended memory to smartdrive.sys.
>


I suspect that you have the *exact* same problem that I had.

I believe that it is possible to do build a windows application using BC but 
it will take an order of magnitude (30-40 minutes vs. 20 seconds) more time to 
compile and link. Further my machine ran out of memory after about 20 minutes
of linking. 
You *really* want to run BCX. The agrevation getting the BC++ compiler up and
running is
well worth it. 

In order to run BCX I need to enter

tkernel hi=yes kilos=1024

If this fails (as it did on my system) you're going to need QEMM. QEMM is a
wonderful product well worth the $$.

-Scott

Scott Blodgett			   									 The MITRE Corporation
dsb@mbunix.mitre.org 	    				Communications Control Engineering
Burlington Road, M/S G220	    Bedford, MA 01730
(617) 271 - 8740       
RMake it in Massachusetts, Spend it in New HampshireS               

hugh@slee01.srl.ford.com (Hugh Fader) (06/06/91)

I (Hugh Fader) writes:
> Here's where I ran into a problem. Borland's instructions for running
> BCX, the protected mode compiler, are to run tkernel, then bcx.
> However, tkernel seems to clash with himem.sys and smartdrive.sys. If
> these are installed, when I try to run bcx I get an error message
> indicating tkernel requires 576K. I think himem.sys is giving all my
> extended memory to smartdrive.sys.

I discovered that tweaking the parameters to smartdrive gets rid of
the problem. The windows installation set smartdrive to use 746K
memory initially and 256K minimum memory. The problem was fixed by
changing the parameter so that smartdrive takes 256K initially and
256K minimum.  This is no big deal because windows reduces
smartdrive's memory usage to the minimum amount anyway.

Hope this helps anybody who runs into the same problem.
--
Hugh Fader
hugh@slee01.srl.ford.com

oneel@heawk1.gsfc.nasa.gov ( Bruce Oneel ) (06/06/91)

In article <43289@fmsrl7.UUCP> hugh@slee01.srl.ford.com (Hugh Fader) writes:

   I just installed BC++. I tried to compile the windows hello world
   example but it seemed to be taking a very long time so I broke out of
   the compile. Then I remembered a discussion on this group a while back
   about how much faster compiles run in protected mode.

   Here's where I ran into a problem. Borland's instructions for running
   BCX, the protected mode compiler, are to run tkernel, then bcx.
   However, tkernel seems to clash with himem.sys and smartdrive.sys. If
   these are installed, when I try to run bcx I get an error message
   indicating tkernel requires 576K. I think himem.sys is giving all my
   extended memory to smartdrive.sys.

   Can anyone help? Is tkernel required when I have himem.sys?  My
   hardware is Compudyne 16/386SX with 2 MB of memory.

   Thanks in advance.


I'll do the simple case and let others do the more complex ones.  Take
as a given the standard windows setup (himem.sys, smartdrv.sys)  It's
important to have smartdrv.sys not take up all of you memory.  Windows
installed mine with a line something like
smartdrv 320 0
where the 320 was the size outside of windows and 0 was the size
inside windows.  If you make this first number (I may have the order
wrong, watch the boot messages) too large, then bcx can't get any
extended memory and won't run.  Try makeing it small (say 200) and
right after the computer has booted, type BCX.

bruce
--
Bruce O'Neel              oneel@heasfs.gsfc.nasa.gov
NASA/GSFC/STX/Code 664

markb@csg.uwaterloo.ca (Mark Brezina) (06/06/91)

In article <43289@fmsrl7.UUCP> hugh@slee01.srl.ford.com (Hugh Fader) writes:
>I just installed BC++. I tried to compile the windows hello world
>example but it seemed to be taking a very long time so I broke out of
>the compile. Then I remembered a discussion on this group a while back
>about how much faster compiles run in protected mode.
>
>Here's where I ran into a problem. Borland's instructions for running
>BCX, the protected mode compiler, are to run tkernel, then bcx.
>However, tkernel seems to clash with himem.sys and smartdrive.sys. If
>these are installed, when I try to run bcx I get an error message
>indicating tkernel requires 576K. I think himem.sys is giving all my
>extended memory to smartdrive.sys.
>
	 
 	I ran into the same problem when I installed Borland C++.  I ended up
knocking my smartdrive down to 256k from a meg.  BC++ needs lots of extended
memory to run efficiently.  Hello world should compile in about 20-30 seconds.

							Mark Brezina

bruceh@hpsciz.sc.hp.com (Bruce Haines) (06/07/91)

	Buy more memory...

	For speed you want to run BC++ from STANDARD mode windows (win /s).
	Borland suggests TKERNEL be given 2MB so that doesn't leave you anything
	for windows itself muchless smartdrive...

	With 4MB of RAM:
	---------------

	  you can give smartdive, say 512KB, in config.sys:

	       device=C:\windows\smardrv.sys 512 512

	  and TKERNEL 2MB, enter:

	      tkernel hi=yes kilos=2048
	      win /s


	With 8MB of RAM:
	---------------

	   You got it made. I use the following setup so that windows swaps
	   application files to my ramdisk, thus switching from Borland IDE to 
	   windows (and vica-versa) with ALT-TAB takes say 1-2 seconds
	   instead of 10-15. In config.sys:

	       device=C:\windows\smartdrv.sys 1024 512
	       device=C:\windows\ramdrive.sys 2048 /e

           In autoexec.bat

	       REM set windows "temp" to my ramdrive.
	       set temp=D:\

           And then I execute this batch file to start up windows for
	   Borland IDE:

	       @echo off
	       tkernel hi=yes kilos=2048
	       REM the following removes windows application swap files.
	       REM (they start with "~") from ram disk "D:". Otherwise, 
	       REM if you abort windows, windows won't remove these at
	       REM start of a new session.
	       if NOT X%TEMP%==X del %TEMP%~*.*
	       win /s
	       tkernel rem