[OFFER] Microsoft Multitasking MS-DOS 4.00 1984 Beta and Microsoft MS-DOS 4.0 Source Code
Microsoft Employee Scott Hanselman with the help Former Microsoft Employee Ray Ozzie release the Microsoft Multitasking MS-DOS 1984 Beta and MS-DOS 4.00 Source Code
Source:
https://cloudblogs.microsoft.com/opensource/2024/04/25/open-sourcing-ms-dos-4-0/
https://www.hanselman.com/blog/open-sourcing-dos-4
https://starfrost.net/blog/001-mdos4-part-1/index.html
Download Link:
https://github.com/microsoft/MS-DOS
Source:
https://cloudblogs.microsoft.com/opensource/2024/04/25/open-sourcing-ms-dos-4-0/
https://www.hanselman.com/blog/open-sourcing-dos-4
https://starfrost.net/blog/001-mdos4-part-1/index.html
Download Link:
https://github.com/microsoft/MS-DOS
Comments
One commenter noted:
"unwiredben says:
April 26, 2024 at 7:02 am
Scott Hanselman gives more background on this release at his blog over at https://www.hanselman.com/blog/open-sourcing-dos-4. This isn’t the MS-DOS 4 that was released, but an earlier version that also includes a version of Multitasking DOS (MT-DOS).
https://hackaday.com/2024/04/26/microsoft-updates-ms-dos-github-repo-to-4-0/
A damper comment worth noting:
Joshua says:
April 26, 2024 at 6:34 am
“We can’t help but notice that DOS v3.0 didn’t get invited to the party — perhaps it was decided that it wasn’t historically significant enough to include.”
Personally, I have another explanation. It’s one of the good releases, simply.
MS-DOS 4 is “bad” like the other versions Microsoft had given out.
The good ones were 2.11, 3.x (mainly 3.20 and 3.30), MS-DOS 5.0a, MS-DOS 6 (mainly 6.20 which was being removed quickly).
While MS-DOS 4 wasn’t as bad as press may have made it (IFS was cool), it had two noticeable flaws.
– Higher memory consumption
– The new kernal structures were incompatible with v3, which broke all kinds of utilities back then.
MS-DOS 5 then went back to use v3 compatible structures again.
But by that time the harm had already been done, many popular applications had been patched for v4 compatibility.
– Which in turn caused trouble with modern DOSes and DOS 4 aware applications (those that didn’t know of DOS 5 yet).
Because, they assumed that DOS 4 and all subsequent versions would use new structures. Which wasn’t the case.
So DOS 3 aware and DOS 5 aware applications are those which would cause the least trouble.
But that’s just my point of view, of course.
The popular MS-DOS 5 was the result of DR-DOS 5, by the way.
Things like UMB and HMA support were being introduced by Digital Research first.
DR DOS also identifies itself as an older DOS, for compatibility reasons.
This is a dos 6.22 vmdk with the 4.0 sources converted to usable ASCII
https://archive.org/details/dos4-vmdk
And this is actual MT DOS 4.00
https://archive.org/details/mdos4-1986-11-17
Personally, would look forward to a 32bit DOS compatible CLI OS that could be built on, but then, wishes are horses so...
Very satisfying to see the interest.
https://www.tomshardware.com/software/operating-systems/museum-criticizes-microsoft-for-mutilated-ms-dos-4-open-source-release-posting-on-stupid-git-blamed-for-the-buggy-blunder
"As called out by noted developer and operator of blog OS/2 Museum Michal Necasek in How Not To Release Historic Source Code, git failing to preserve timestamps and converting files to UTF-8 pretty much breaks everything. Necasek praised the release of the code but criticized the bugs introduced in the process, saying, "But please please don’t mutilate historic source code by shoving it into (stupid) git."
Of the two issues, source files being converted to UTF-8 may be more severe. This is because the old tools characteristic of those operating systems can't actually parse UTF-8 and likely can't be updated to do so, either. The byte line length limit of MS-DOS 4's MASM was 512 bytes, and the UTF-8 conversion brings specific files above that limit, making them unreadable.
The severity of the file errors varies, but the OS/2 Museum post notes that core system files are a perfect match for the original disk image files. However, the source code also seems to correspond to 4.01, a "quiet" update to 4.00 that fixed a few bugs. It wasn't directly available but it did ship to PC OEMs."
IBM's was the very first release, and has issues recognizing some hard drive partitions, or even getting booted.
If you want to know how to compile MS-DOS 4.00 Source Code these are videos I watch on YouTube.
As it stands, just doing that is an exercise it knob fiddling. Going to take a real code head (or an alliance of) to use the code as a launch point for a multi-tasking OS that retro freaks can take advantage of.