jh1523
Experienced Member
I've been playing lately a lot with my old motherboards, and I can't help but noticing some oddities. The one I'm submitting here happens on a 286/12 motherboard, here it is on TH99: http://artofhacking.com/th99/m/U-Z/30583.htm
This motherboard has 1M RAM on-board currently. It has 8 sockets for 44256 (256kx4) and 4 sockets for 41256 (256kx1) for parity. There is no other memory anywhere else. That's 1024kx8 total physical memory. The SIPP sockets are unpopulated.
The HMA is the region of 64K situated immediately beyond the first 1024k, and which can be accessed due to a segmented memory trick on 286 and above, if gate A20 is enabled. Correct? It sits in the physical space of 1024k-1088k.
Well, on this board which has only 1024k pf physical RAM, if I load himem.sys and then load DOS high (in the HMA), I don't get an error. Everything seems to function perfectly fine. If I use a memory listing program, such as mem.exe or mi.com, it reports that the HMA is available, and that DOS is loaded there. Moreover, the size of the OS components reported in conventional RAM is appropriately smaller, and more conventional RAM is available than if I don't load DOS high.
No UMBs are available, since this is a 286 and can't use emm386.exe, and there is like I said no addon memory board etc. DOS cannot be located anywhere between 640k and 1024k because that memory is not available to it.
So, where is DOS? Loaded in physically nonexisting RAM?
What is the explanation for this?
This motherboard has 1M RAM on-board currently. It has 8 sockets for 44256 (256kx4) and 4 sockets for 41256 (256kx1) for parity. There is no other memory anywhere else. That's 1024kx8 total physical memory. The SIPP sockets are unpopulated.
The HMA is the region of 64K situated immediately beyond the first 1024k, and which can be accessed due to a segmented memory trick on 286 and above, if gate A20 is enabled. Correct? It sits in the physical space of 1024k-1088k.
Well, on this board which has only 1024k pf physical RAM, if I load himem.sys and then load DOS high (in the HMA), I don't get an error. Everything seems to function perfectly fine. If I use a memory listing program, such as mem.exe or mi.com, it reports that the HMA is available, and that DOS is loaded there. Moreover, the size of the OS components reported in conventional RAM is appropriately smaller, and more conventional RAM is available than if I don't load DOS high.
No UMBs are available, since this is a 286 and can't use emm386.exe, and there is like I said no addon memory board etc. DOS cannot be located anywhere between 640k and 1024k because that memory is not available to it.
So, where is DOS? Loaded in physically nonexisting RAM?
What is the explanation for this?