[comp.windows.ms] Himem.sys

ash@mlacus.oz (Ash Nallawalla) (02/04/90)

In article <90012700003592@masnet.uucp>, don.roy@canremote.uucp (DON ROY) writes:
> The latest version of HIMEM.SYS (2.05) is available on Compuserve and, 
> I'm sure, several BBS's in your area. Failing that, you may try calling 

I posted a comment recently to the effect that HIMEM.SYS 2.06 was released
in February 1989 but that recently-shipped MS software still came with older
versions.  I got only one reply to the effect that not everyone needs 2.06.
As a few have asked about HIMEM.SYS lately, perhaps Microsoft could reply
directly and authoritatively. (the 2.06 archive contains a good DOC file about
it)

-- 
=============================================================================
Ash Nallawalla        Tel: +61 3 823-1959  Fax: +61 3 820-1434
ZL4LM/VK3CIT          Postal: P.O. Box 539, Werribee VIC 3030, Australia.

oppenhei@umd5.umd.edu (Richard Oppenheimer) (02/08/90)

In article <-286349995@hpcupt1.HP.COM> swh@hpcupt1.HP.COM (Steve Harrold) writes:
>Re: Latest version of HIMEM.SYS
>
>>>> The latest version of HIMEM.SYS (2.05) is available on Compuserve and, 
>                                     ^^^^
>>>> I'm sure, several BBS's in your area. Failing that, you may try calling 
>>>> Microsoft directly.
>
>I have HIMEM.SYS version 2.06, dated 3/21/89

If all these great updated versions of himem.sys have been out for almost
a year now, why has Microsoft chosen to include version 2.04 of HIMEM.SYS
in the just released Word for Windows package. I suspect these newer versions
are not from MS. 

Any statement from the folks at MS?

Richard

oppenhei@umd5.umd.edu (Richard Oppenheimer) (02/13/90)

I thought I posted this previously, but I didn't see it. My question
is in response to much talk of new versions of HIMEM.SYS. I have seen
people write about version 2.05 and 2.06. In fact Above Disk, a EMM
emulator, wants version 2.05 or higher. My quandry is Microsoft is still
sending out version 2.04. As a matter of fact I recently received my upgrade
to Word for Windows and it still had version 2.04, with a little twist though.
It was dated 12/??/89, as opposed to my previous 2.04 which had a date of
05/??/88

Anyone got any ideas.

Richard Oppenheimer
Computer Science Center
University of Maryland
oppenhei@umd5.umd.edu

gobran@ecs.umass.edu (02/21/90)

In article <6113@umd5.umd.edu>, oppenhei@umd5.umd.edu (Richard Oppenheimer) writes:
> I thought I posted this previously, but I didn't see it. My question
> is in response to much talk of new versions of HIMEM.SYS. I have seen
> people write about version 2.05 and 2.06. In fact Above Disk, a EMM
> emulator, wants version 2.05 or higher. My quandry is Microsoft is still
> sending out version 2.04. As a matter of fact I recently received my upgrade
> to Word for Windows and it still had version 2.04, with a little twist though.
> It was dated 12/??/89, as opposed to my previous 2.04 which had a date of
> 05/??/88
> 
> Anyone got any ideas.

	You can get HIMEM206.SYS via anonymous FTP from Simtel20 in the
directory  PD1:<MSDOS.SYSUTL>  It is described as Himem.sys - REVISED
because Microsoft saw fit to change it at least once without incrementing
the version number for some unknown reason.
	(Simtel20 is:  wsmr-simtel20.army.mil   26.2.0.74,  there are also
some Windows related files there in  PD1:<msdos.mswindows>)

Dave Gobran
UMass/Amherst		gobran@umaecs  or  gobran@ecs.umass.edu

mcdonald@aries.scs.uiuc.edu (Doug McDonald) (07/27/90)

I sort of like Windows 3.0, but it has one terribly irritating flaw -
fatal, in fact: it won't run in extended 386 mode, the only useful way
to run it, without the himem.sys that comes with it. With himem.sys
installed, none of my other 386 programs will run.

FLAME ON!!!!!

WHY, OH WHY, Microsoft, didn't you put the himem.sys functionality
inside Windows itself, so that other programs can be run without rebooting?? 

It is NOT NICE to make programs that REQUIRE (and Windows 3.0 DOES require
it to be at all useful) that require special .sys files.


IS there a way around this? Somebody surely could make a himem.sys program
that can be turned off. Qemm for example, can be turned off. OR
make one that can be removed?


Is anyone at Microsoft listening??????????????

Doug McDonald

mcdonald@aries.scs.uiuc.edu (Doug McDonald) (07/29/90)

In article <1990Jul27.154843.21611@ux1.cso.uiuc.edu> I wrote:
>I sort of like Windows 3.0, but it has one terribly irritating flaw -
>fatal, in fact: it won't run in extended 386 mode, the only useful way
>to run it, without the himem.sys that comes with it. With himem.sys
>installed, none of my other 386 programs will run.
>
>
>IS there a way around this? Somebody surely could make a himem.sys program
>that can be turned off. Qemm for example, can be turned off. OR
>make one that can be removed?
>
>
>Is anyone at Microsoft listening??????????????
>

I discovered a new piece of info: If I include himem.sys (the win 3.0 one)
in my config.sys file but not smartdrive, then I CAN run my 386 programs
(with the Phar Lap extender) happily all day - UNTIL I run Windows 3.0
itself. After that, the 386 programs won't run until I reboot. Could
it be that himem.sys is not completely releasing memory when it is no
longer used?

Doug McDonald

ttak@uhura.cc.rochester.edu (Timothy Takahashi) (07/29/90)

In article <1990Jul28.212853.8561@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>IS there a way around this? Somebody surely could make a himem.sys program
>that can be turned off. Qemm for example, can be turned off. OR
>
>I discovered a new piece of info: If I include himem.sys (the win 3.0 one)
>in my config.sys file but not smartdrive, then I CAN run my 386 programs
>(with the Phar Lap extender) happily all day - UNTIL I run Windows 3.0
>itself. After that, the 386 programs won't run until I reboot. Could
>it be that himem.sys is not completely releasing memory when it is no
>longer used?

Definately, somethings up here. Before I run Windows 3.0, the Dos 4.0 MEM
command reports extended memory available. After I run Windows 3.0, squat.

My setup : 386sx clone (Phoenix BIOS, C&T NEAT, MFM Hard Drive), IBM PCDOS 4.0
            Windows 3.0 (bought the day it was released)

tim

mcdonald@aries.scs.uiuc.edu (Doug McDonald) (07/29/90)

In article <8661@ur-cc.UUCP> ttak@uhura.cc.rochester.edu (Timothy Takahashi) writes:
>In article <1990Jul28.212853.8561@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>>
>>I discovered a new piece of info: If I include himem.sys (the win 3.0 one)
>>in my config.sys file but not smartdrive, then I CAN run my 386 programs
>>(with the Phar Lap extender) happily all day - UNTIL I run Windows 3.0
>>itself. After that, the 386 programs won't run until I reboot. Could
>>it be that himem.sys is not completely releasing memory when it is no
>>longer used?
>
>Definately, somethings up here. Before I run Windows 3.0, the Dos 4.0 MEM
>command reports extended memory available. After I run Windows 3.0, squat.
>
>My setup : 386sx clone (Phoenix BIOS, C&T NEAT, MFM Hard Drive), IBM PCDOS 4.0
>            Windows 3.0 (bought the day it was released)
>

Ah ---- 

I tried it on a gen-u-ine IBM PS/2 Model 80. 100% true blue. Tried
IBM DOS 3.3 and IBM DOS 4.01.


Same problem.

Doug McDonald

ghenniga@nmsu.edu (Gary Hennigan) (07/29/90)

Well here's my two cents! I don't know exactly how himem.sys works but
I believe it's intended function is a full memory manager and that
Microsoft decided that as such it has full control over memory. This
means that it ties up all the memory and allocates portions of it to
applications as they request or have need of it. This works fine in
windows where, through a PIF, you can tell windows how much extended
memory to give an application on startup, at least in 386e mode.

What I'm not sure of is what this means if you chose to exit windows
and startup applications straight from DOS. Does himem.sys still
portion out the memory or does it only function in the Windows
environment? Maybe some MS person reading this could answer?

Anyway that's the extent of my knowledge, at least as it pertains to
MSW, well maybe most other things too!

--
Gary Hennigan
+---------------------------------------------------------------------------+
+  e-mail: ghenniga@NMSU.Edu, henninsf@maxwel.NMSU.Edu                      +
+  Department of Electrical Engineering, Grad Student                       +
+  Physical Science Laboratory (ASS)istant systems programmer               +
+---------------------------------------------------------------------------+

rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) (07/30/90)

In article <8661@ur-cc.UUCP> ttak@uhura.cc.rochester.edu (Timothy Takahashi) writes:
>In article <1990Jul28.212853.8561@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:

>>I discovered a new piece of info: If I include himem.sys (the win 3.0 one)
>>in my config.sys file but not smartdrive, then I CAN run my 386 programs
>>(with the Phar Lap extender) happily all day - UNTIL I run Windows 3.0
>>itself. After that, the 386 programs won't run until I reboot. Could

>Definately, somethings up here. Before I run Windows 3.0, the Dos 4.0 MEM
>command reports extended memory available. After I run Windows 3.0, squat.

Thats for compatibility reasons. Before any program or other driver
(like smartdrv) accesses extended memory via himem.sys, the himem.sys
driver makes itself transparent allowing older programs to access the
extended memory the old way.

After any program uses himem.sys (like smartdrv or Windows 3.0 or even
ramdrive), ALL extended memory can only be accessed via himem.sys.
This is not a bug.

Before you flame on himem.sys - What would you say, if an application
wants to bypass the EMS driver to access an Above Board?
The problem is, that the XMS specification was created very late and
several programs accessing extended memory directly were already on the
market. 

Kai Uwe Rommel

--
/* Kai Uwe Rommel
 * Munich
 * rommel@lan.informatik.tu-muenchen.dbp.de
 */

mcdonald@aries.scs.uiuc.edu (Doug McDonald) (07/30/90)

In article <3652@tuminfo1.lan.informatik.tu-muenchen.dbp.de> rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) writes:
>In article <8661@ur-cc.UUCP> ttak@uhura.cc.rochester.edu (Timothy Takahashi) writes:
>>In article <1990Jul28.212853.8561@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>
>>>I discovered a new piece of info: If I include himem.sys (the win 3.0 one)
>>>in my config.sys file but not smartdrive, then I CAN run my 386 programs
>>>(with the Phar Lap extender) happily all day - UNTIL I run Windows 3.0
>>>itself. After that, the 386 programs won't run until I reboot. Could
>
>>Definately, somethings up here. Before I run Windows 3.0, the Dos 4.0 MEM
>>command reports extended memory available. After I run Windows 3.0, squat.
>
>Thats for compatibility reasons. Before any program or other driver
>(like smartdrv) accesses extended memory via himem.sys, the himem.sys
>driver makes itself transparent allowing older programs to access the
>extended memory the old way.
>
>After any program uses himem.sys (like smartdrv or Windows 3.0 or even
>ramdrive), ALL extended memory can only be accessed via himem.sys.
>This is not a bug.
>
FLAME ON!

No, that in itself is not a bug, agreed. BUT what is a bug is that himem.sys
supplied with Win 3.0 doesn't work - I have not found a single program -
other than the ones supplied with Windows 3.0 - that will get extended
memory from it. There are STANDARD methods for supporting extended memory.
Himem.sys should support those methods. If itr wants to ADD extra methods,
that is fine. But unless it continues supporting the standard methods - 
THAT IS A BUG!!!

In any case, I have found a fix. Right at the start of himem.sys,
there is code that traps the bios call to get the amount of extended
memory and arbitrarily sets it to zero. So what you have to do is simply
bypass that test by changing the third byte after the one pointed at
by the int 15h interrupt from 88h to 0 - this simply allows himem to
pass through the call to the previous driver, which appears to have
the correct answer. This works for me. I am using the Win 2.11 version
of Smartdrive rather than the Win 3.0 one.  This allows my 386 programs
using the Phar Lap runtime to work.

The way the new himem.sys works is very  very antisocial. 

Doug McDonald

chrisb@escargot.UUCP (Chris Bradley) (08/03/90)

In article <1990Jul27.154843.21611@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>I sort of like Windows 3.0, but it has one terribly irritating flaw -
>fatal, in fact: it won't run in extended 386 mode, the only useful way
>to run it, without the himem.sys that comes with it. With himem.sys
>installed, none of my other 386 programs will run.

What????!? I have Himem.sys installed on my Intel 386/25 box and I can run all
of my 386 based software. By 386 "extended" I assume that you mean 386
"enhanced"?? It sounds as if you're confusing EMM386 and HIMEM.SYS - HIMEM.SYS
Is a protected mode program only.

>FLAME ON!!!!!
>
>WHY, OH WHY, Microsoft, didn't you put the himem.sys functionality
>inside Windows itself, so that other programs can be run without rebooting?? 

Obviously you have no idea what HIMEM.SYS does. It is an attempt to standardize
a way of managing extended memory. It has MUCH more functionality that the
brain-dead BIOS routines.

>IS there a way around this? Somebody surely could make a himem.sys program
>that can be turned off. Qemm for example, can be turned off. OR
>make one that can be removed?

Again, I think you're talking about EMM386. HIMEM Takes away all extended
memory from the BIOS and manages it internally.

>Is anyone at Microsoft listening??????????????

FLAME ON!!!!!

Attitudes like this really piss me off. Basically it's an "I don't have my way
so I'm going to bitch until I do" attitude that generally makes me wish people
like this weren't my customers.

Hey bud, give Microsoft a *BREAK*. Windows 3.0 is *HUGE*, and it is IMPOSSIBLE
to give you every driver you need, even to make it run on a clone-a-tronic-shit
blender-3 machine with a MegaVGA Super Duper Video adapter and your Taiwaneese
hard disk controller.

HIMEM Is an attempt to manage extended memory, and it proves to be quite
logical and useful.

Before you bitch and complain about other products, make sure you understand
them fully first.

FLAME OFF!!!!

-->Chris

UUCP: ..tektronix!tessi!escargot!chrisb     "I didn't like the Mercury Sable,
                                             So I bought a Ford Taurus instead!"

mms00786@uxa.cso.uiuc.edu (Milan Mahendra Shah) (08/04/90)

Doug McDonald writes about a bug in HIMEM.SYS which many seem to think is
not. However, I think I have uncovered yet another annoying feature of
HIMEM.SYS. I have HIMEM.SYS installed, DOS 4.01 (same with DOS 3.3), and 
Carbon Copy 5.0. I also have a modem installed on COM 4 (though it 
doesn't seem to matter what COM port I use). When I start up CCPlus, it
complains that com port did not respond to IRQ test and drops back to
the C prompt. If I deinstall HIMEM.SYS, everything works like a charm. I
don't believe that CCPLUS uses extended memory at all, so this 
interaction definitely *seems* like a bug. Anyone know what could be
happening?

Milan.
.

bg11+@andrew.cmu.edu (Brian E. Gallew) (08/06/90)

Speaking of problems/caveats of himem.sys, does anyone out there know of
a program that can use the high memory that can supposedly be provided
by it?  I really like QEMM386 because I can load all of my drivers in
high memory, but the loadhi that comes with QEMM deosn't like himem.sys.
 Is there a fix or am I still looking for pie-in-the-sky?

                                  -Brian

Have you ever found yourself apologizing when someone bumps into you?
Have you been called a WIMP?
Have you ever discovered yourself being embarrassingly urbane and genteel?

Well, STOP IT NOW!
Yes!  You, too, can remove those horrible personality traits from your life!
Just send $5.00 for you free brochure to:

             Self-Lobotomies, Ltd.
             1354 Marlboro Avenue
             Wilkinsburg, PA 15221

You drop the bomb -more-
It goes off... -more-

pilger@uhunix1.uhcc.Hawaii.Edu (Eric Pilger) (08/29/90)

"the loadhi that comes with QEMM doesn't like himem.sys"


That is because qemm.sys already supplies XMS.  himem.sys is not
needed, and is simply ignored (except for the nmessage you see.)
Leave out himem.sys and you'll get just what you want.

Bear in mind that QEMM5.0 only supports Windows 3.0 Real Mode.  QEMM
5.1 supports Real and Standard Mode.

				Eric Pilger
				NASA Infrared Telescope Facility

eger@nu.cs.fsu.edu (Robert Eger) (05/10/91)

Sorry if this is a frequently asked or stupid/obvious question, but
what exactly does HIMEM.SYS do, and is it necessary?  I am running
Windows on a 386SX with 2MB RAM.  I am asking because I am trying to 
free up memory, and if HIMEM.SYS is not really needed, then I am
taking it out of my CONFIG.SYS.

Thanks in advance,
Robert Eger
eger@nu.cs.fsu.edu

PDS2@psuvm.psu.edu (Paul D. Shan) (05/10/91)

In article <1991May9.203448.5597@mailer.cc.fsu.edu>, eger@nu.cs.fsu.edu (Robert
Eger) says:
>
>Sorry if this is a frequently asked or stupid/obvious question, but
>what exactly does HIMEM.SYS do, and is it necessary?  I am running
>Windows on a 386SX with 2MB RAM.  I am asking because I am trying to
>free up memory, and if HIMEM.SYS is not really needed, then I am
>taking it out of my CONFIG.SYS.
>
  HIMEM.SYS is simply an extended memory manager.  That's it.  Windows need
  access to extended memory to have more room to run.  In your case, with a
  386SX, if you have 1024K of free extended RAM, you can run in Enhanced mode.
  So yes, you DO need HIMEM.SYS (or another extended memory manager).  QEMM
  is an extended memory manager that allows you to install some drivers in
  the upper memory block (area from 640k to 1 Meg).  You might look into
  one of these if you're trying to free up some conventional RAM.

Paul D. Shan
Microcomputer and Personal Workstation Support
Center for Academic Computing
12 Willard Building
University Park, PA  16802
(814) 863-4356
PDS2@PSUVM.psu.edu

kensy@microsoft.UUCP (Ken SYKES) (05/14/91)

In article <1991May9.203448.5597@mailer.cc.fsu.edu> eger@nu.cs.fsu.edu writes:
>Sorry if this is a frequently asked or stupid/obvious question, but
>what exactly does HIMEM.SYS do, and is it necessary?  I am running
>Windows on a 386SX with 2MB RAM.  I am asking because I am trying to 
>free up memory, and if HIMEM.SYS is not really needed, then I am
>taking it out of my CONFIG.SYS.

HIMEM.SYS is needed if you want to run protect mode.  It is the XMS manager
for Windows.  Without extended memory you will be stuck with real mode.

Ken Sykes
Disclaimer: The above opinions are solely my own.