DOS-Minix 2.04

I was looking around for some old compilers as a side project of mine has stalled looking for some TS-11 Fortran compiler with overlays.

Anyways I found mention of this DOS-Minix.  It does NOT comply with things like DPMI, VCPI as it will not run in nice things like emm386 & other v86 switchers.  However it will run in DOSBox.

Digging through the kernel & the boot program, you’ll find the basics of a DOS Extender.  The boot program will allocate as much memory as it can from the XMS driver, and then switch to protected mode & transfer control to the kernel.  Likewise the kernel then uses MS-DOS & BIOS calls for video, disk access etc as you can find it’s int86 calls that switch from protect to real mode, (doshead.s) or even in the disk driver dosfile.c

Installation is SUPER simply, just download the file DOSMINIX.ZIP unzip it somewhere then either use the great DOSBox, or any other pc emulation etc that you could want to use. The NTVDM from Windows NT is not good enough as you’ll get an error message about not being able to load the 386 kernel on an 8086.  This again probably stems from dosminix not using DPMI calls, but the old fashioned raw XMS calls.. I guess it *could* be updated.

Start it up is simple you just run the boot program and point it to a diskfile:

boot minix.mnx

Then you’ll get greeted by the boot loader..  For me hitting any key doesn’t do anything, so I just press escape, then type in boot.

And in NO time, you’ll be up and running MINIX!

The ‘best’ way to shut it down I’ve found is to type in ‘reboot’ then press escape like wild, and you’ll interrupt the boot loader.  Then you can type in ‘exit’ and you’ll get dumped back into MS-DOS.

I think it’s an interesting example of how to use the ancient MS-DOS to bootstrap yourself into protected mode. And the source seems somewhat straight forward.

dosminix on DOSBox.

dosminix on DOSBox.

One thought on “DOS-Minix 2.04

  1. I should leave 2 notes here..

    First is that the 'easy' way I've found to move data in & out of dosminix is to "mount" a tar file. At the boot loader, you can specify

    dosfile-d1=x.tar

    This will 'mount' x.tar onto disk #1. Go ahead and 'boot' minix, and then you can extract the x.tar file simply by running tar xf /dev/c0d1

    Likewise, you can tar cf /dev/c0d1 then extract x.tar from MS-DOS (NT whatever) to get data out of the minix setup.

    When compiling large c files, you'll find that the C compiler will freak because it's out of memory…

    The command:
    chmem +# /usr/lib/em_cemcom.ansi

    will show the maximum memory amount the C compiler can use. You can give it an additional megabyte with:

    chmem +102400 /usr/lib/em_cemcom.ansi

    When building f2c and dungeon I had to do this a few times..

    For those less adventurous I've built f2c, it's library & adventure right here:

    http://vpsland.superglobalmegacorp.com/install/f2c/dungeon-2.5.6-i386-minix.zip

Leave a Reply