Main page I Packages I Help I Forum

SvarDOS community forum

a place to talk about SvarDOS and other DOS-related things

jump to end reply list of threads

MS-DOS 4 was open sourced

792007ec7ad2dd32 ebac4433c0483f2e 50a97a77b037aa67 dc1c75be2e9a3777 153be086cb63434d e2b53418c4356d9f 6645dc30750828cd 9dc5e18c3f084501
Yes, It's true. https://www.hanselman.com/blog/open-sourcing-dos-4
078ac416e4811d4f ac7134fc6c34222e e676a6b143232a57 f638c349b414e0e6 b25cc1129ce8293c bc9a49b88c1ea9f5 a8d5c26e0797bc6f 2eba886e5c7e366b
Thanks for the news, that's very cool indeed. The source code has been published in the Microsoft github repo along with versions 1.25 and 2.0 of MS-DOS: https://github.com/Microsoft/MS-DOS MS-DOS 4.0 was an odd duck, so I doubt this release will be of any practical use, but it will certainly help with understanding compatibility corner cases. What I'm really waiting for is the release of either version 3.x or 5.x, as these could be integrated within SvarDOS as alternative kernels. Mateusz
They've released both the source for the MT version (multitasking) which I think is what you're referring to as the "odd duck" but also the regular DOS 4.01 source which is the basis for PC-DOS 4.01. Unlike 1.25 and 2.0 it has hard disk support up to 2Gb. I would say it's of practical use on an XT or 286. They've included the appropriate MASM, LINK and Microsoft C to build it. Neozeed with the help of the OS/2 museum guy has compiled and booted it successfully on qemu. https://github.com/neozeed/dos400/releases/tag/v_0.2
aa23a6c4b2c12ce9 5293d7dd5c2e3994 352c1076588a3d54 b0a123df50cd5aa0 a83fa45a6763865f 7ee5b98b3a9b6080 a94232d4849d48c6 b025711ecd4619bf
> They've released both the source for the MT version (multitasking) which I think is what you're referring to as the "odd duck" but also the regular DOS 4.01 source which is the basis for PC-DOS 4.01.
AFAIK, there's no source code for MT-DOS, but early beta binaries only. Citing https://cloudblogs.microsoft.com/opensource/2024/04/25/open-sourcing-ms-dos-4-0/ "[...] and while they were unable to find the full source code for MT-DOS, they did find MS DOS 4.00, which we’re releasing today, alongside these additional beta binaries [...]"
0d025f180080f858 5ea12b18f9c25f41 172d267f387ea872 840f85b9eac41aa2 0b5990ca086c8a74 ceb4a412e71f6cb3 95e39fce5b50cdb1 4ed5aad44941b0c2
One thing we could import would be the original Microsoft EDLIN. While Gregory made an awesome job of putting together a portable clone written in C, it is a rather large binary, and it differs slightly in functionality.
0d025f180080f858 5ea12b18f9c25f41 172d267f387ea872 840f85b9eac41aa2 0b5990ca086c8a74 ceb4a412e71f6cb3 95e39fce5b50cdb1 4ed5aad44941b0c2
If we are lucky, they will eventually open source MS-DOS 5. Then SvarDOS will have its third kernel package (after FreeDOS and EDR kernel) within 48 hours :-D
078ac416e4811d4f ac7134fc6c34222e e676a6b143232a57 f638c349b414e0e6 b25cc1129ce8293c bc9a49b88c1ea9f5 a8d5c26e0797bc6f 2eba886e5c7e366b
> One thing we could import would be the original Microsoft EDLIN. While Gregory made an awesome job of putting together a portable clone written in C, it is a rather large binary, and it differs slightly in functionality.
Having it in core is probably a waste of space, but why not adding it as a non-core package, say "MSEDLIN", for users that have some sentimental need to use it. :) Any volunteers? Mateusz
838e190d5ed672b7 50e0ca460686456d b1ba76e613219041 4568ab98f7ba8364 6cf3af203a7ce196 179cc324d73815e4 c86ae5863e421162 e5e47f4a12142d31
Yes, having it in core was not my intention. Would be nice to have a package for it. I can do it. But building the DOS 4 EDLIN out of tree is a pain. They overcomplicated it by introducing a new message translation mechanism. That is so braindead that this part of the code must have come from IBM. I have building the DOS 2 EDLIN out of tree with JWASM. Have to look at the differences to see if the changes in the DOS 4 version are crucial. Interesting fact is that the EDLIN DOS 2 source does not match the binary in their repository (2.14 source vs. 2.0 binary).

your name or nick

password (optional)


check the TWO LAST boxes: