• Please review our updated Terms and Rules here

MS-DOS 4.0(1) Opensource on Github

I noticed the comment "8/5/83 ARR IBM MAKES HARDWARE CHANGE. NOW WANTS TO USE HALF HIGHT DRIVES FOR HAL0, AND BACK FIT FOR PC/PC XT"

Was "hal0" an early code name for the PCjr?
 
Well, I think some quick wins would be fixing the CALL 5 entry point in DEBUG (the same fix as in MSDOS 2, which you can get from my DOS page -- add a couple of INC AX before line 463 of DEBUG.ASM) and the broken OEM ID checks in MSDISK.ASM and MSINIT.ASM (which assume any OEM ID that doesn't have "3." in the 6th and 7th characters must be from an earlier version, and therefore ignore BPBs written by MSDOS5.0, MSWIN4.1 etc.)

A project for someone with more time and round tuits would be ports to non-IBM platforms like the Apricot PC, which had MSDOS but only versions 2 or 3.

This would also be useful as an OS to load free of legal worries, if you're selling a vintage PC too old to run Linux.
 
Last edited:
4.01 would be easier than earlier versions to bring up to at least 5.0 level. Fixing bugs, adding in a new implementation of DEVICEHIGH and co.?
 
Well, versions 6.20, 6.21 and 6.22 are identical anyway. Either would be fine.

Source code for version 6.00 has been floating around for some time.

Localized versions would be interesting, but that's not going to happen either, I think.
 
Source is one thing; source that can be used legally is another.
Source is released under MIT license, so you can use it with no issues. Calling it MS-DOS would be a different thing, probably not permitted due to trademark law.
 
Agreed, but those were the good versions. Bet that won't happen for a long time (if ever)...

I think the main issue is the time and lawyers involved in getting this stuff released which slows things down. DOS 4.0 apparently needed IBMs sign-off. DOS 5 and 6 include code from other 3rd parties (bundled utilities and code licensed from elsewhere like defrag, disk compression, memmaker) so will be much more time consuming to get released if they even can be released in full.

DOS 3.x likely presents somewhat less of a challenge though and I wouldn't be surprised if it turns up sooner or later. I think the only reason it was DOS 4.0 that got released was because someone was asking about Multitasking DOS 4.0 and the code for regular DOS 4.0 turned up in the search so they open-sourced it along with the bits of Multitasking DOS that they could find.
 
I was disappointed to learn that SORT was not an external merge sort, apparently it was limited to 64k.
 
The OS/2 Museum has a good article about what went wrong with DOS 4.0/4.01:


I was also disappointed because I thought Microsoft had released the code for the rare multitasking version of DOS 4.0, but it just turned out to be plain DOS 4.0.
 
For what it's worth, I decided to call my fork "PC DOS/RE", since as far as I can tell, "PC DOS" was never trademarked.

And this is, after all, both MS-DOS 4.0 and PC DOS 4.0.
 
Microsoft isn't gonna let that get away, you can bet on that. And even if they do let "MS-DOS" get away, they'll hold onto "MS" as far as it regards computer software, so it'll just go from being "MS-DOS®" to being "MS®-DOS".

I'm currently wracking my brain trying to port the code away from the Microsoft tools and onto a mix of homebrewed tools (my own exereloc, uconvert and dbof replacing their exe2bin, convert and dbof) and the Watcom tools, and reorganizing everything.
 
I read there were complaints that these sources did not assemble. I found this YouTube movie explaining how to do it. I would like to repeat it but I'm not a Linux user. At 01:50 a sed command is used to replace some bytes with something else. But I don't understand with what exactly. Can anybody explain what is done, please?

Another question: what are these bytes doing in an ASM file at all?

Many thanks in advance!
 
Unzip with -a. Use DOSBOX. Mount the "v4.0" tree as D: in DOSBOX. That'll take care of most things.
 
Back
Top