On Tue, 21 Jan 2025 at 22:06, David Schwab via Freedos-devel <freedos-devel@lists.sourceforge.net> wrote: > > From memory, XMS was earlier, and it required both a driver and an external > memory card. I believe you could go as high as 8 MB. I can't recall the > processor requirements, but I know EMS required at least a 386. Most > programs, and most technical programming books I had (like Norton) used EMS > almost exclusively. Most of the magazines I still have from that era, like PC > Magazine, seem to focus more on HMA and EMS, likely because DOS focused more > on those than XMS.
You have it backwards. EMS is short for Expanded Memory. It works with hardware from an 8088/8086 upwards. On a 386 it can be done entirely in software and that is what MS's EMM386 does. https://en.wikipedia.org/wiki/Expanded_memory Because of this it's widely supported in classic DOS apps from before the Windows 3 era (which began in 1990). XMS is short for eXtended Memory. It is available in DOS from the 80286 upwards. It just means "memory over the 1024 kB address". There is no way to access it directly from DOS but the HIMEM.SYS driver added an API to manage it. HIMEM.SYS needs a 286 or better. https://en.wikipedia.org/wiki/Extended_memory Few DOS apps can use it, but from the 1990s onwards, you could write 286 or 286 apps for DOS using a tool called a "DOS extender". They cost money per copy, and your apps wouldn't work on an 8088/8086, or under some other OSes, or under some DOS memory managers. https://en.wikipedia.org/wiki/DOS_extender -- Liam Proven ~ Profile: https://about.me/liamproven Email: lpro...@cix.co.uk ~ gMail/gTalk/FB: lpro...@gmail.com Twitter/LinkedIn: lproven ~ Skype: liamproven IoM: (+44) 7624 227612: UK: (+44) 7939-087884 Czech [+ WhatsApp/Telegram/Signal]: (+420) 702-829-053 _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel