View Full Version : HIMEM.SYS source

May 19th, 2015, 05:33 AM
I've read that Microsoft has release the source for HIMEM.SYS for early versions however Google search showed up nothing (except a link to microsoft.com download that does not work anymore).

Anyone has any idea where I can grab that from?


May 19th, 2015, 05:49 AM
There's a copy here (http://cd.textfiles.com/1stcanadian/utils/xms_spec/). Is that what you're looking for?

EDIT: When reading HIMEM.ASM I immediately find this sticking out like a sore thumb;

cmp bl,16 ; Test for "legal" DOS functions
jle short IOtherFunc

It's kind of sad that I can spot a bug in less than 30 seconds while the original Microsoft programmers apparently never did (I haven't checked but I bet it's still in there).

EDIT2: I just checked the version that comes with Windows 98 SE (version 3.95?) and it is actually fixed there.

May 19th, 2015, 08:07 AM
Thank you Krille! That is exactly what I am looking for!

May 19th, 2015, 01:14 PM
Reading the source, I was a little disappointed to see that copying blocks on a 386 is still just copying blocks, instead of remapping pages or something more elegant. Everyone seemed to hate EMS, but EMS -- both real and emulated -- remaps pages to the page frame, so it was a very quick operation.

HIMEM appears to go into "unreal" mode ("big real mode") to perform a copy.