Compiling MS-DOS 4.0 using DOSbox & Qemu

2024 ж. 27 Сәу.
3 555 Рет қаралды

In this video I show to to build MS-DOS 4.0 from Microsoft's GIT, convert the files using zip/unzip's ASCII auto convert feature, then edit the 3 further broken files to produce a binary build, then use QEMU to then bootstrap the files into a working system. I've provided the built files below:
* Microsoft's GIT:
github.com/microsoft/MS-DOS
* Files:
archive.org/details/msdos-4-b...

Пікірлер
  • Awesome video! Can I ask what your background is? It seems like you really know your stuff, and 4.0 was released just a few days ago.

    @Selendeki@Selendeki23 күн бұрын
    • I built it some 30 minutes after release but I got tipped off ! I have always been fascinated with secret tech stuff like Mach so I’d spent so many hours trying to find and build stuff! You get better at it with time!

      @neozeed8139@neozeed813923 күн бұрын
    • It was released years ago* Just upoaded to the git recently.

      @CannedCoochie@CannedCoochie2 күн бұрын
  • Good stuff! Random thoughts: I wonder how much this will help the FreeDOS project? Presumably the MIT license allows them to reuse parts of Microsoft's code without any problems. Though the FreeDOS folks may have already gleaned any code they needed years from when DR DOS was open-sourced. Interesting that the DOS version of Microsoft C 5.1 was included, so it's now officially freeware. It does look like all the regular header files and libraries were included. Though it's also possible it differs from the retail release of MSC 5.1. I'd need to check. It's odd DOSSHELL wasn't included. Maybe it used a third-party UI library and Microsoft don't have the rights to re-distribute the source code. Admittedly DOSSHELL wasn't very popular, given there were already better file managers such as XTreePro and Norton Commander available at the time. (Why weren't they ever open sourced? I digress...)

    @zoomosis@zoomosis24 күн бұрын
    • Bonus random thought: It'd be wild if someone forked the code and created a "lite" version that used less memory. They could call it DOS 3.3. 😆

      @zoomosis@zoomosis24 күн бұрын
    • @@zoomosis It can certainly help for glancing at compatibility as DOS4 was the basis of OS/2 2.x

      @neozeed8139@neozeed813924 күн бұрын
    • I believe Dosshell was not included until DOS 5.

      @SlideRSB@SlideRSB23 күн бұрын
    • @@SlideRSB It was definitely included with DOS 4.

      @zoomosis@zoomosis23 күн бұрын
    • Shell was in 4, it appears to have been all from IBM, or it’s not part of this BAK, or binary adaptation kit that was released. Kind of a shame

      @neozeed8139@neozeed813923 күн бұрын
  • @Neozeed, could you make the xv6 system work on a real and direct machine, or Linux 0.01, 386bsd. I still don't understand how something old like ms-dos 4.0 works directly on modern hardware, I know in parts, arauitetura and everything, however, there is something that makes it easier for this to happen, for example sys, format, fdisk. In the *unix world, this seems not to be so easy to understand, something that makes this happen as easily as it was done for DOS to be transferred and work easily.

    @andrewfreitasrodrigues9116@andrewfreitasrodrigues91163 күн бұрын
    • Machines with legacy BIOS kind of can work, DOS can boot from USB that emulates a floppy drive, or hard disk. Otherwise, it'd need to do something like how people got XP running on iMacs before bootcamp as a shim, or figure out how to run on UEFI directly... Which all sounds kind of involved. I'd been thinking about some kind of qemu to UEFI and maybe some kind of hardware passthrough? I'm not sure it'd be a BIG project though.

      @neozeed8139@neozeed81393 күн бұрын
  • How were you able to boot from the floppy image with a plain format and just copying the system files? Shouldn't you need to copy the boot sector somehow? When I tried this part in VirtualBox I got a non-system disk error.

    @joshuasmith8119@joshuasmith811919 күн бұрын
    • I'd formatted a blank disk from dos 4, and 5. I suspect you used DOS 6? Its very specific about the file order, io.sys, msdos.sys must be put down in that order as they have to appear first and contiguous.

      @neozeed8139@neozeed813919 күн бұрын
    • @@neozeed8139 I used format from DOS 5 and copied files in the same order as you did. Could the difference be in the initial pre-format state of the disk image? Mine was created using VirtualBox rather than QEMU.

      @joshuasmith8119@joshuasmith811919 күн бұрын
    • @@joshuasmith8119 Ive built it on Qemu, DosBOX & a physical machine... I'm not sure as I just did run format with no options. I tried to put something together here to mess around with but it stalls on javascript dosbox for some reason.. . archive.org/details/vmdos-4

      @neozeed8139@neozeed813919 күн бұрын
    • Update: I managed to get a bootable DOS 4 floppy by using SETVER so that I could run the DOS 4 version of FORMAT A: /S (while still in DOS 5).

      @joshuasmith8119@joshuasmith811918 күн бұрын
  • So..... Phil Katz to the rescue?

    @buleini@buleini22 күн бұрын
    • more like inspired InfoZip into existence. I frequently have to use this 'trick' when dealing with github sources & dos projects.

      @neozeed8139@neozeed813922 күн бұрын
    • @@neozeed8139 I'm too old to *remember* which product came first which such a feature, I looked up Phil (not the Winzip company) when i saw somebody using WinRAR earlier this week - with the age old trial period of 30 days ...... I admit I should have seen you invoked Info-ZIP at the prompt, hearing you say "this is basically pkzip" :)

      @buleini@buleini22 күн бұрын
  • clone --depth 1, why all the history u need

    @nick9323@nick932321 күн бұрын
KZhead