Ask HN: Any cool stories about old DOS extender, EMS or Extended Memory?
I was reading the recent HN article about Warcraft 1 and how EMS was a horror to work with until they moved to DOS Extender.
This was all before my time and I was wondering if you who worked with this tech had much to say about it?
Thanks.
5 comments
[ 2.1 ms ] story [ 27.4 ms ] threadMemory extenders came out that let you reach over that limit. But you had to make OS calls that flipped the CPU into a different mode first.
That was just the beginning! We also had to write 'self modifying code', emit assembly instructions and make DOS programs rewrite themselves to squeeze every last bit out of graphics routines. I remember counting 'cycles' of each ASM instruction. Fixed point was much faster than float then, we did craaaazy things for 3d graphics, for sure.
Those were fun days of hobby dev, for sure!
At that time I had an XT with 4.77MHZ and a "turbo" switch where the CPUs go to 10MHZ. We are talking about real power here and a 30MB HD Seagate.
A lot of games/programs run ok with only 640 at that time. But graphic ones and heavier ones need more memory as 1MB or 2MB. Remember that time 1MB was a serious investing or cost.
So what we used to do at that times:
Several configs.sys and autoexec.bat for each application. Eg.: 1. Boot with CD-Rom drivers; 2. Boot with CD-Rom drivers and others; 3. Clean Boot
So I had to choose how to boot my PC before choosing the boot menu, and each menu has its configuration. The more drivers/configs more options becoming an exponential function.
So later came Qemm[1] that optimize all options for best scenarios (more free under 640kb or higher mem free). That was a game changer.
There were several details, but that was it. Ask me about stacked or other techniques from that time if you are curious :)
[1] - https://en.wikipedia.org/wiki/QEMM
At that time I was nothing but a child, so my main interest outside "how does $THIS work" was to play computer games.
I had a 386 @20MHz with something like 40MB HDD. I wanted to play this Sherlock Holmes game my dad bought for my birthday. Mind you, at that time paying for a game was a big effort for my family, so this would only happen once per year (if lucky).
The problem? The game, once installed, was like 39MB or something crazy like that! There was this tool called doublespace or drivespace (can't remember the exact name, I believe both existed) that could increase your total disk space by doing some magic (actually compression, but mostly magic for barely a child). Problem solved, right?
Not quite.
Now I had a second problem: This tool loaded a driver, otherwise you couldn't access your data in the disk, and with this driver I could not hit the memory requirements for this specific game (which also required to load the mouse driver!).
All in all, I could only play this game by deleting everything on the HDD and even trimming down c:\dos :) then installing the game. I believe some time later you could load the doublespace/drivespace driver on to the extended memory, as well as the mouse driver; plus the RAM started getting cheaper and I got a whooping 2MB expansion (so I had 4MB in total) and could play and use the computer for other... games.
As someone else mentioned, you ended up with several boot options depending on the task you wanted to do. Most of the times I wouldn't even load the CD-Rom drivers (that's actually with a 486 I got a few years later) or the mouse drivers.
Those were the times... This is the game in question: https://en.wikipedia.org/wiki/The_Lost_Files_of_Sherlock_Hol...