TIP: Click on subject to list as thread! ANSI
echo: 80xxx
to: JAN WAGEMAKERS
from: CRAIG HART
date: 1997-11-11 08:30:00
subject: extended memory

Hi..
 JW> JC> What version of himem.sys is that?  Microsoft has released source
 JW> JC> code to himem.sys that makes use of no such thing...
The microsoft-released himem.sys source code has several include files that 
have not been released. These include files contain all the really 'tasty' 
stuff such as the extended memory block-copy, etc.
 JW> When you have loaded M$ Himem.sys (without emm386) your computer
 JW> is in "Big Real Mode". I don't say that Himem.sys makes use of Big
 JW> Real to provide XMS-memory, because when you have also loaded emm386
 JW> to emulate EMS, this Big Real Mode is gone.
I _dont_ think so. Try this some time:
load himem.sys
do not load emm386.exe
write a program that monitors the various CPU exceptions, then try to execute
mov ax,[10000h] If your machine is in bigreal mode, the instruction
will work quite happily.. if you're in normal, 64k-segment mode, you'll
get a protection error.
You'll find that himem does not place the system into bigreal mode.
Now, disassemble himem.sys and study it carefully. You'll see that the 
block-move operationfor 386+ CPU's uses a descriptor that gives himem.sys 
bigreal addressing mode. Next, you'll see that the 64k segmnts are dutifly 
re-instated when himem exits.
       Craig
--- FMail/386 1.20+
---------------
* Origin: Comms Barrier BBS +61.3.9585.1112, +61.3.9583.6119 (3:632/533)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.