======================
== fabulous.systems ==
======================
Welcome to the world of fabulous.systems

A Minor Update: The Source Code for MS-DOS 4.01 Is Here


#retrocomputing #msdos #operatingsystems

A couple of weeks ago, Microsoft released the source code of MS-/PC-DOS 4.00 to the public.

Due to various bugs, DOS 4.00 was a relatively short-lived release, and it was replaced by DOS 4.01 just a couple of months later.

Howard M. Harte (hharte), who already fixed various flaws in the official source code release of MS-DOS 4.00, managed to figure out the differences between DOS 4.00 and 4.01 — we now have access to the improved version as well!

I imported Howard’s patch into my fork of the MS-DOS source code and prepared a new source code bundle on a set of floppy disk images.

Downloads

You can either use the files in the ZIP archive on DOSBox or try the floppy images containing a self-extracting RAR archive on real hardware or in an emulator.

Please note that if you want to use the floppy images, you must copy the contents of all four disks to a new directory and run V401_SRC.EXE from there, which will extract all files in the current working directory. Please note that the self-extracting RAR archive requires an 80386 or higher and 8 MB of RAM.

The compiled files in MS-DOS 4.01 (compiled from source, bootable, 1x 1.44MB) match the April 1989 MS-DOS 4.01 release, available at archive.org.

You can flip two switches in INC/VERSION.INC, which allows the IBM PC-DOS variant to be built instead of the “original” Microsoft variant. The generated binaries are available in the image PC-DOS 4.01 (compiled from source, bootable, 1x 1.44MB). However, due to compilation errors, the PC-DOS 4.01 build lacks the XMA2EMS.SYS driver.

I don’t know if this driver was meant to be included in the IBM variant or if it is an MS-DOS exclusive, so you should consider this release to be incomplete as of now.


MS-DOS 4.01
MS-DOS 4.01


Do you have any comments or suggestions regarding this article? Feel free to join the discussion at our fabulous.community!