BACK to main Project Xiphod 386 Summary
MS-DOS Choice and Setup

I’m not completely familiar with what “SPRING” is (in relation to Microsoft). My guess is that SPRING is an overseas contracting office that Microsoft used to handle packaging the software (including the 800+ page BASIC and MS-DOS manual that is included, which is surprisingly thorough!). By this time, after the Windows 3.0 release of 1990, Microsoft was focused and committed to evolving Windows (and abandoning its IBM relationship and OS/2 involvement). So, it makes sense that they would outsource the retail aspects of handling disk media and publishing manuals while their in-house development team focused on all-things-Windows at the time.
But for us casual end-user / home-consumers, in 1992, MS-DOS was still the OS pre-installed with every PC sold at retail stores. But I do recall that it was my cousin, who had recently started college at the time, first mentioned Linux to me – it had just recently been announced. And I recall my response: “That’s neat that I can flip through shells, but what games can it play?” A few years later I got the 4-CD pack of RedHat, but I still wasn’t a convert. Maybe it was the lack of a comprehensive 800-page manual to go with it.
NOTE: The manual included in this SPRING MS-DOS 5 edition is great, but for another more concise MS-DOS 5 reference, see here (150 pages vs 800+ pages)
The MS-DOS manual included here is thorough (describing all the commands), which for all their faults is partially why MS-DOS and Microsoft persisted: they explained their product and engaged developer communities on how to use their tools (at least for the OS and compilers), including a huge support for QuickBASIC and VisualBasic.
So, I went with MS-DOS 5.0 (whereas on the IBM PC 5150 I used DR-DOS 3.41). While I’d still prefer DR-DOS (and I have nothing against FreeDOS), I wanted to stick with MS-DOS 5.0 directly because it was released before 1992 and to stick with a more “mainstream” (what most people had) experience of MS-DOS.
NOTE: By this year, 1992, an MS-DOS add-on called 4DOS was available. This added some “quality of life” enhancement, like being able to up/down arrow across prior commands (and tab to auto-apply file/folder names). One nice thing about DR-DOS is it tended to include aspects of 4DOS “out of the box.” But it’s nice that MS-DOS was accommodating and understood well enough to allow these kinds of third-party command line extensions. I’m choosing not to use 4DOS on this particular setup, but it would be a period-correct valid thing to have (like also so would using QEMM386 v6.02).
As related to the XT-IDE, one limitation is that MS-DOS 5.0 only supports up to 2GB (2000MB) partitions. You do have to “dance around” with FDISK to initialize the partition tables of these kinds of setup. I happen to have 2GB CF (CompactFlash) cards. However, for the secondary drive, FDISK was insistent on only letting me use 1500MB (1.5GB) of the CF. I’m not sure if a portion of the CF was identified as bad, or some aspect about the brand made it less capacity than advertised. I ended up specifying a 1GB D: drive and 0.5GB E: drive. So, two physical fixed disks, but three partitions.
To me, I just like how MS-DOS keeps it simple. Drive letters are like drawers in a filing cabinet: you have some smaller stuff in the A: drawer or the B: drawer (disk drives), then your larger stuff in the C:, D:, etc. I do get that the scalability of such conventions is limited, but in the realm of a single user system, it’s straightforward to keep track of. The biggest fault (or “embarrassing limitation”) of MS-DOS was the 8.3 filename convention (in comparison, the IBM 5100 was limited to 17 characters and CBM, IIRC, was 16 character filenames). But Microsoft did eventually resolve that limit in Windows 95, while retaining backwards compatibility.
In FDISK, to initialize the second disk, I had to “Select” that Disk 2. But only make Disk 1 as Active (so that it becomes the bootable partition).
Memory Management: I gave up on using EMM386.EXE that came with MS-DOS 5.0. While it does work, it often needed some custom arguments in the CONFIG.SYS for certain situations. But this is a nice reminder that, being 1992, this was when “evil” corporate Microsoft was about to unleash, like the Borg. Specifically, they were shamelessly incorporating everyone else’s good ideas – from Stacker, 4DOS, and Quarterdeck (but with the technical talent to do so, not just copying source). It was obvious and it was ruthless, such was corporate competitive America in the 1990s – no mercy. They had begun their campaign to crush OS/2 and began sabotaging use of DR-DOS with Windows. I was there, it happened, as it led up to the DOJ battle involving the coupling of IE (web browser) with Windows. They even started sabotaging Netscape. One could write a whole book on all that. But my point here is Microsoft was highly aware of competitors, in all areas of their products, and constantly strived to stay ahead.
By MS-DOS 6.22, DOS’s native EMM386 was quite nice. But in MS-DOS 5.0, it wasn’t so. There was a company Quarterdeck that specialized in memory management and had released DESQView several years prior (an x86 multi-tasking system compatible with MS-DOS). I used DESQView while running my BBS, a couple years before OS/2 WARP became available (and was using a ‘486 by then), so I could write code while users were connected to my BBS.
As developers began to better understand the potential of the 32-bit x86 systems, it was still a pain for each shop to develop their own memory management solution. For legacy reasons, there were a lot of holes in the memory region between 640KB and 1MB (1024KB). But as things became more affordable, by the early 1990s it wasn’t too uncommon for systems to have multiple-megabytes of RAM, so there was a growing desire to take advantage of that. There became this confusing lexicon of UPPER, UMB, HIGH, EMS (extended vs expanded), etc. To their credit, around 1989 Microsoft offered DPMI to help standardize one approach. But there were other approaches, one of them Quarterdeck’s EMM386 (or known as “QEMM”).
Long story short, instead of the MS-DOS EMM386.EXE, I am using the Quarterdeck v6.02 EMM386 from 1991 as a period correct memory manager (“DEVICE=C:\QEMM\QEMM386.SYS RAM”). I always had high respect for Quarterdeck’s technical talent and high quality of their software.
How to Install MS-DOS
In this case, I had a working disk drive and just used the original OEM media to manually install DOS. The box included the manual and 3x 3.5″ floppies. This is nostalgic, listening to the grind of the disk drives. But being mechanical/moving parts and magnetic media, a day will come when either the disks or the drives don’t work anymore.
[ TBD, video of MS-DOS 5.0 install ]
This is where the “disk drive emulator” comes handy, since it can emulate even boot disk on an image. [TBD]