v86 icon indicating copy to clipboard operation
v86 copied to clipboard

[Request] Recently open sourced MS-DOS 2.00, 1.25 and 4.00 preconfigured from the starting page.

Open ris-work opened this issue 1 year ago • 4 comments

Hey, Thank you for this incredibly cool project. I have a feature suggestion. I wish MS-DOS 1.25, 2.0 and 4.00 are available to choose from the main interface. What sets these apart from the other DOS versions (including 6.22) is that they are free and open source under the MIT license right now. This means they are freely redistributable.

Link: MS-DOS

Thank you.

Regards, Rishikeshan

Edit: 4.00 is not the same as 4.0

ris-work avatar Sep 20 '24 13:09 ris-work

The 4.00 sources require patches, for details see The Broken Source Code for MS-DOS 4.00 Has Been Restored, there you also find bootable floppy disks which boot fine under V86.

You can also build from the sources yourself under V86 (using MS-DOS 6.22 or FreeDOS as guest OS). But it's still incomplete, for more see Creating New Installation Media for MS-DOS 4.0.

I'm not sure if the older source releases are meant to be built or just studied.

chschnell avatar Sep 20 '24 22:09 chschnell

I'm not sure if the older source releases are meant to be built or just studied.

About MS-DOS 1.25, here is an easy-to-build bootable floppy disk: https://www.betaarchive.com/forum/viewtopic.php?t=40792, but on v86 with JIT, it fails to compile COMMAND.COM and MSDOS.SYS.

By the way, MS-DOS 1.25 OEM disks works fine on v86 (even with working BASIC!).

SuperMaxusa avatar Sep 21 '24 09:09 SuperMaxusa

The 4.00 sources require patches, for details see The Broken Source Code for MS-DOS 4.00 Has Been Restored, there you also find bootable floppy disks which boot fine under V86.

You can also build from the sources yourself under V86 (using MS-DOS 6.22 or FreeDOS as guest OS). But it's still incomplete, for more see Creating New Installation Media for MS-DOS 4.0.

I'm not sure if the older source releases are meant to be built or just studied.

Oh, I totally didn't see the broken source code part. I think this issue will still hold for 2.0 and 1.25, then.

ris-work avatar Sep 21 '24 14:09 ris-work

Oh, I totally didn't see the broken source code part.

Don't get me wrong, the 4.00 release works, I've played a lot around with it and I much recommend it.

Here is the problem: The original source files are supposed to be encoded in 8-Bit codepage CP437, and that is not the case at the Github repository.

When Microsoft committed the 4.00 source tree to Github the automatic Unicode conversion mistakenly replaced some text in the sources with UTF-8-encoded strings. If you now clone that repository and try to build, the build tools (ASM and C compiler from the 1980s) completely fall apart as soon as they run into these UTF-8 strings.

So what a small group of very brave people did was to create a set of patches that restore the broken UTF-8 encoded files from Github back into their original 8-bit state. When you build these patched sources you get binaries that are bit-identical to the orignal binaries released by Microsoft. You can google about that adventure, it was a bit of an effort.

A very nice thing about the 4.00 release is that it includes the entire toolchain and all libraries required to build the MS-DOS 4.00 source tree (or your own stuff), it's completely self-containing and hence very ease to build.

What is a bit nasty is creating a bootable floppy from your self-build MS-DOS 4.00 to test it, but it's quite fun once you succeed.

For me it's ok for Microsoft to make such a (admittedly embarrassing) mistake, but what's not ok is that they never got around to fix it, or at least to publish a compressed asset on Github with the intact sources.

chschnell avatar Sep 21 '24 19:09 chschnell

Here it is: https://copy.sh/v86/?profile=msdos4 (not terribly interesting)

Feel free to send me a disk image with more things installed and/or other versions.

copy avatar Oct 20 '24 23:10 copy