Andy Farkas wrote: > On Sat, 26 Apr 2003, Ruslan Ermilov wrote: > > On Fri, Apr 25, 2003 at 02:46:26PM -0700, Terry Lambert wrote: > > > You are limited to what you can access in real mode, without > > > Gate A20 (16M, at which point the address space wraps). > > > > Shhh, don't tell this anyone! ;-) > > > > A20 (21th address line) allows one to access up to ffff:ffff > > byte, that is (1M + 64K - 16) bytes of memory. Depends on the segmentation model. You can go up to 16M of memory, if you are willing to do the EMM386 "trick" and bank select into a window. I rather doubt anyone wants to do the program overlays necessary to use it usefully these days. 8-). > Actually, you can access the entire 4GB of memory in "unreal" mode. > > <http://x86.ddj.com/ddj/aug98/aug98.htm> This isn't incredibly useful in this case, unless you add a fourth level of loader code. I'd find it really hard to believe that anyone would want to do this. And you're still stuck with the increased memory requirement. Also, you have to use the SMM, or the CPU vendor equivalent, in order to save and reload the hidden registers. For a long time, all the different processors had different ways of dumping and restoring these registers. I would hate to have to write portable loader code (in assembly, no less!) that was capable of dealing with all the different CPU's, including, say, the Cyrix or IBM "Blue Lightning" derived cores. 8-(. I think it'd be a lot easier to rewrite the "unbzip2" code to take up less work space, or use its target memory as its work area, instead, etc.. It'd be even easier to move another 60K of loadable drivers onto a seperate floppy, and go back to using gzip, instead. -- TerryReceived on Sat Apr 26 2003 - 13:36:41 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:05 UTC