Hi, I have decided to rewrite this whole document to talk about FreeDOS instead. FreeDOS is a free to download, open source clone of PC/MS-DOS, and was started in 1994 by Jim Hall to continue the use and availability of DOS after Microsoft announced Windows 95 and the discontinuation of DOS. It has been in the work since then but never really seemed to catch on in any big way until the 2010's when PC retrograming on vintage x86 hardware and virtual machines started to become commonplace. As of this writing (7/19/2022) FreeDOS is up to version 1.3 Release Candidate 4, with a stable version of 1.2 - both of which I have used. This is an actual distribution on CD-ROM, ISO, or even a base system on Floppy Diskette, and it should run on MOST 8088-current x86 IBM Compatible PCs, save for modern examples with UEFI (though there has been some mentions of that coming along as well).
So why DOS in 2022? And why FreeDOS?
Well, as if not already obvious, this is a "retro computing" page here, and the original operating system for the IBM PC and it's clones as MS-DOS licensed from Microsoft to IBM as "PC-DOS" in most cases with actual IBM hardware. But while we are retro, we are not mennonites or stuck in the past, DOS has evolved along side Linux, Windows, and Mac O/S, just in relative silence because the general public sees it as an obsolete, outdated, and un-updated operating system. Even major manufacturers such as Dell and HP have been offering PCs with FreeDOS preinstalleed since the 2000's, but it's not maybe as "with the times" as say Windows, Mac OS, or Linux are.

So the purpose of FreeDOS in 2022, is to provide a free, open-source, legal-tie free operating system that you can freely modify, redistribute as a different "distribution" - like we do "Linux Distros" - and share those modifications so someone else can tailor the O/S to suit their needs. This is a lot less gray-area to potentially illegal as distributing a commerial product like MS-DOS would be (though Microsoft seems to be releasing this kind of thing as "open source" now as well). People use it to run all kinds of old, DOS-based software (though there are some limitations, and I'll get to those in a bit).

But I'm sure as you are aware, DOS was originally a COMMERCIAL operating system. That meant it was sold, for money, on the market, through a company, in this case Microsoft Corporation. But we also know that DOS has a pretty tulmutuous story. It's basically a clone of Digital Research CP/M, ripped off for a fair sum of cash from a Seattle computer company technician using it to test an 8086 based microcomputer, rebranded and modified a little by a New Mexico gone Washington State firm named Microsoft, licensed out to IBM as PC-DOS, then licensed to everyone else + sold standalone by Microsoft as MS-DOS, and then killed off when Windows 95 took over mainstream appeal. But FreeDOS continues the interface and comaptibility without the "guilt" of running a commercial operating system, it basically returns FreeDOS to the "hobbyist" world from which it once came, but brings it into the 21st century.

Obtaining and Installing FreeDOS on Vintage Hardware

The Structure of a Default FreeDOS installation
A default FreeDOS install does not have any GUIS or Networking Installed. This section deals with the basic structure of a FreeDOS system (minus the networking piece) so that you can understand how it differs from a regular MS/PC-DOS system.

Classically, DOS was installed in 6 pieces on a system with a hard disk after version 2.11 - msdos.sys (the Kernel), io.sys (the Input-Output driver), (command interpreter or shell), CONFIG.SYS (system configuration file), and AUTOEXEC.BAT (like the startup folder in the start menu in Windows) in the root directory, plus the C:\DOS Directory and it's contents that containedall the command files and bundled utilities and programs (EDLIN, FDISK, FORMAT, SYS, EDIT, QBASIC...etc). That was it. Anything else (drivers, utilities for archives, internet, etc) had to be provided by the user, likely from a 3rd party manufacturer. A lot of that meant that the user could determine where those programs went, but with various goofey results. You did not have multiple-boot-configurations until DOS version 6.00 (prior to that you had to buy or program some kind of menuing "program" yourself). And things like Networking had to be installed using 3rd party utilitis and programs, some open source, some not.

FreeDOS, however, is a little bit different.

Directory Structure - Unlike MS/PC-DOS where everything is tossed in the root or the C:\DOS directory together, FreeDOS has a bit more complex structure in it's folder. C:\FDOS is the primary directory, and this folder only contains a few subirectories of concern. It also contains the common files for networking when you install it, in particular, MTCP.CFG which configures and holds the DHCP information for the mTCP suite bundled, and the Waterloo TCP configuration file WATTCP.CFG. There may be other uses for this folder but this is usually what I find there. The C:\FDOS\BIN\ folder is basically what the old C:\DOS directory was - it contains all of the binaries used by DOS - FDISK, FORMAT, te usuals, and also where a lot of the programs and utilities installed by FDIMPLES get installed too, particuarly if they are intended to be executed globally (meaning from anywhere on the system rather than from it's designated folder(s)). If you can't find something you just installed and need to know the executable name - chances are it can be found in c:\FOOS\BIN.

Startup Files - FDCONFIG.SYS and AUTOEXEC.BAT/FDAUTO.BAT Also renamed, and these are multi-boot capable (more on that in another section). FDCONFIG.SYS Is the replacement for CONFIG.SYS. FDAUTO.BAT found in RC4 is the renamed AUTOEXEC.BAT File. The CONFIG.SYS Is executed first to configure the system, then FDAUTO/AUTOEXEC "calls" FDCONFIG.SYS to find out what parameters to use in the AUTOEXEC startup file.

Multi-Boot Config (Default) - the Default FreeDOS system also installs with a multiple boot configuration to optimize memory and offer options for troubleshooting, usually 4 entries. This works VERY different from a multiboot configuration file in MS-DOS 6.xx and higher.....keep in mind, this is not the DEFAULT FDCONFIG.SYS - this is edited to function (nearly) identically to the CONFIG.SYS File for MS-DOS on the left to show relationship of functionality.

MS-DOS Multiboot Config.sys file
menuitem, CLN, Start MS-DOS 6.22 for Clean Boot
menuitem, DOS, Start MS-DOS 6.22
menuitem, EMS, Start MS-DOS 6.22 (with EMM386.EXE)
menuitem, WIN, Start Windows 3.11







MENU 2 - Load DOS (normal, most memory free)
MENU 3 - Load DOS (EMS)
MENU 4 - Load Windows 3.1 (Real Mode)


As you can see up above, the MS-DOS file puts each entry in square brackets, where the menu is triggered by the [MENU] section, listing each item as "menuitem", and then giving it a special name to call it ie CLN/WIN/DOS/EMS/etc. The FreeDOS version instead gives a global set of parameters up top then has each item added or removed from the multiple configuration using a series of single numbers next to a "?" in order to determine if the line belongs with that number or not - which tends to make the file clenaer as only one entry needs put in, and then that same entry can be reused for other configurations using the same line.

Now let's look at this in the form of the AUTOEXEC.BAT and the FDAUTO.BAT files.








As you can see, the syntax is different too. Starting with FreeDOS 1.3 they started calling AUTOEXEC.BAT FDAUTO.BAT instead. You can change this to be either one using the /P in "FDCONFIG.SYS".
Using FDIMPLES and Installing Packages
FDIMPLES is a program that is installed (if you installed any packages) that allows for easy Package Management, and can be thought of as something like a "Programs and Features" control panel applet for DOS. It requires FDIMPLES.EXE to be installed, and either a directory or ISO File on your HDD of the FreeDOS installation media, and lastly, a SET TEMP=C:\TEMP or similar temporary folder environment variable set. Without any of these, it will either not run, or not show packages to install.

When you run FDIMPLES, ideally, it will show a list ofo categories on the upper left hand window, and a list of the packages in each category in the upper right hand window - with details on each package in the lower window, and buttons for OK/CANCEL in the lower right corner. You can select either an entire category (which will automatically check all selections in that category), or you can cherry pick packages from each category by checking the individual packages. When these are all selected, you hit "OK" and FDimples will move to a command-prompt-like screen where you can watch each individual file be unzipped to it's proper folder. Most applications install to c:\FODS\BIN, meaning they can be reached from anywhere, but certain stuff like VNC, the various GUIs, and other standalone software packages, instlal to their own directories off the root of the C:\ drive. Some categories have their own SubDIR - like games.

Installing and using Networking

Hardware Issues

HIMEMX.EXE SPEWING GARBAGE/HANGING - Some 486 based systems I have used have a tendency to fail with HIMEMX.EXE spewing garbage on boot. The fix for this is to try the /NOABOVE16 switch, and if that fails (usually hangs at a screen saying "USING KBC METHOD" or "USING GATE A20 METHOD". If it fails, I suggest either using HIMEM.EXE (Obsolete), HIMEM.SYS from MS/PC-DOS, or using XMGR.SYS. XMGR.SYS is the best for low DOS RAM as it leaves over 600K Free. This is a big problem sometimes though, because the default boot diskettes for FreeDOS 1.2 utilize HIMEMX.EXE and this leads to spewing garbage from HIMEMX.EXE. I think the Legacy CD-boot has a different setting that bypasses this problem.

Software Issues
Software compatibility problems with certain software in FreeDOS that I've found. Some of these are dependant on Memory Managers loaded while others give you a problem regardless.

ULTIMA VII & SERPENT'S ISLE - Probably the most notorious DOS games of all time due to their wonky "VooDoo" Memory Manager. The ideal system environment for these is MS-DOS with HIMEM.SYS loaded, and a Mouse Driver of low Memory usage. The primary issue is regardless of XMS driver used they all see less than 500K DOS RAM free - usually stating around 465K or less - even if mem/a shows more than 600K free. It seems this may be a problem in the way FreeCOM (COMMAND.COM - the FreeDOS version of it anyway) sees memory and allocates it, or just plain ol' tells what it is. Every time you get "Ultima 7 needs 555000 bytes of DOS Memory Free to run....". Using JEMMEX throws the computer into "Protected Mode" which will not work with Ultima 7 (the computer MUST be in "Real Mode" to work - not Virtual 8086 mode aka Protected Mode). This is a common complaint and I'm kind of surprised nobody has fixed it yet. It brings up one of my major pet peeves about FreeDOS in general is that two of the most popular Ultima games won't run on it because of that f#%*!ing memory manager Origin chose to use. HIMEMX.EXE only works on some vintage machines (hangs and/or spews garbage on screen on others). XMGR Works as a XMS driver but becauase of aforementioned FreeCOM bug, even wwith 600K Free the game won't start. So something about FreeDOS is making VooDoo/Ultima7.exe angry, or maybe there's a secret reserved space in FreeDOS, I dunno. I have looked around and read about an HX port of an older version of Exult that would work, but most of the time it fails. HIMEMX.EXE also tends to crash/hang the system if you try to use a modified U7DPMI.EXE to run either game.