These sources, as clearly stated in the repo’s readme, are the 8088 assembly language sources from 10th Feb 1983, and are being open-sourced for historical reference and educational purposes. This means we will not be accepting PRs that modify the source in any way.
↫ Rich Turner
I’m loving all these open source releases from Microsoft, but honestly, I’d wish the pace was a little higher and we’d get to some more recent stuff. Open sourcing early versions of MS-DOS and related software is obviously great from a software preservation standpoint, but at this rate we’ll get to more influential pieces of software by the time the sun experiences its helium flash.
On a related note, about a month ago Microsoft released the source code to MS-DOS 4.00. Well, we’ve now also got access to the code for MS-DOS 4.01, a bugfix release that came out very quickly after 4.00.
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!
↫ Lothar Serra Mari
We’re getting a pretty complete picture of early MS-DOS source code.
DOS 4,01, as I recall, wasn’t a popular release; DOS 3.3 was still being used and sold right up until DOS 5 came out and this is also when DR-DOS 3.41 and then 5 were popular. Can’t remember the exact reasons but unless you had a 386, you didn’t get DOS 4.01.
From what I remember, DOS 4.01’s lack of popularity was from two causes:
1. The primary new feature was FAT16 support to enable partitions over 32Mb. If you had an older device – and a lot of devices had 20Mb hard disks at the time – this feature was irrelevant. It was always possible to partition DOS 3.3 into multiple partitions to overcome the 32Mb limit, so this limit became more serious as drives got larger.
2. DOS 4.01 had some initial serious bugs. In addition to the round fixed in 4.01, there were later fixes for nasty data corruption issues. One of them is at http://www.malsmith.net/dos4/secondary_caching_bug.diff.txt . There are others I haven’t been able to decode – the final one is PDO255.EXE from 1992, which fixes handling of files larger than 32Mb.
There’s been a lot of talk about conventional memory usage, although IMHO it’s a bit of a red herring. DOS 4 was larger than 3.3, and it didn’t include the ability to use the HMA that DOS 5 did…but it was hardly an unusable pig.
Er, wasn’t this GW-BASIC source code released 4 years ago? The date of the page linked to is 21st May 2020, not 2024… If you’re talking about 1980’s BASIC interpreters, then BBC BASIC was where it was at – first with the BBC Micro and then improved with the Acorn Archimedes. Being able to switch between BASIC and assembly code was unheard of at the time and far more revolutionary than anything Microsoft came up with w.r.t. BASIC in that decade.