Back to homepage - Back to 486 page
Nothing here yet really, I mostly use DOS to format and read existing floppies. I've got 3.3 and 6.22 bootable from a diskette, and install media for 6.22 and WinNT.
One of the more useful DOS applications I have so far is a small floppy I made myself, that contains MS-DOS 6.22 and Craig Hart's PCI.EXE along with the database file. I had to strip most of the DOS stuff (even the CDROM driver I think) to make it fit on one, bootable flopy.
I also ran ZORK I, one of my favourite games
Over time when dealing with various obscure gear I found myself in need to run some DOS software more and more often. I have had a couple DOS bootable floppies already, however, on some machines I only have one floppy disk drive. Since DOS doesn't directly support networking, the only way to transfer software to run is to use floppies (I dont have to do this often enough to permanently install DOS on a physical machine). Swapping floppies over and over turned out cumbersome... but I have a solution now.
At some point I've learnt that DOS supported RAM-disks. There are a couple implementations, one of them being MS-DOS' RAMDRIVE.SYS. I decided to try my hand at making a bootable DOS floppy that would copy it's contents to RAM and allow me to remove the boot medium.
Not being able to find a (legit) RAMDRIVE.SYS copy, I installed MS-DOS 6.22 in QEMU, and extracted all the installed files from the hard disk (in case I need them in the future). I copied RAMDRIVE.SYS onto one of the boot floppies and edited CONFIG.SYS and AUTOEXEC.BAT as follows:
$ cat CONFIG.SYS DEVICE=HIMEM.SYS /testmem:off FILES=30 BUFFERS=20 DEVICE=RAMDRIVE.SYS 32767 512 /E LASTDRIVE=Z $ cat AUTOEXEC.BAT copy COMMAND.COM c: copy EDIT.EXE c: copy DOSKEY.COM c: set COMSPEC=C:\COMMAND.COM c: doskey /insert @echo off echo Ready... you can remove the floppy now.
On boot, CONFIG.SYS sets up HIMEM (to allow to access the extended memory rather than jsut the first 640k), then it sets up RAMDRIVE as disk C:. 32767 is the disk size, 512 the sector count and /E is a switch that created the ram disk in the extended memory (hence HIMEM is loaded first). Disk size is at the max value it will take and that results in a 32767kB ramdisk. Good enough for my needs..
Then AUTOEXEC.BAT takes control and copies COMMAND.COM, EDIT.EXE and DOSKEY.COM to the newly set up ramdrive. COMSPEC environment variable is set to point to the new location of the command interpreter, then the disk is changed to C:. Doskey (better command interpreter) is enabled, and finally, a message is displayed.
Only 3 files from the whole floppy are copied, if I need something else, I can copy it out manually at this point.
You can extract RAMDRIVE.SYS yourself, it's easy. After installing DOS in a VM, just mount the disk image as a loop device, mount the loop device somewhere and copy out the stuff.
Only COMMAND.COM, CONFIG.SYS, HIMEM.SYS, RAMDRIVE.SYS and AUTOEXEC.BAT are necesary. EDIT.EXE and DOSKEY.COM are copied over for conveinience
It's a good idea to just copy stuff into the ram disk first and then run, instead of running them directly off the floppy. Way faster that way, obviously.
The contents of the diskette are listed below. And yes the files that have the hour:minute instead of year in the date modified column of ls were modified in the year 2020.
-rwxr-xr-x 1 polprog polprog 11208 May 31 1994 ATTRIB.EXE -rwxr-xr-x 1 polprog polprog 160 Apr 13 11:33 AUTOEXEC.BAT -rwxr-xr-x 1 polprog polprog 34 Jul 20 1998 C.BAT -rw-r--r-- 1 polprog polprog 34262 Sep 26 1996 CD1.SYS -rw-r--r-- 1 polprog polprog 16504 Nov 21 1996 CD2.SYS -rw-r--r-- 1 polprog polprog 19984 Aug 13 1996 CD3.SYS -rw-r--r-- 1 polprog polprog 41302 May 11 1998 CD4.SYS -rwxr-xr-x 1 polprog polprog 12241 May 31 1994 CHKDSK.EXE -rwxr-xr-x 1 polprog polprog 54645 May 31 1994 COMMAND.COM -rw-r--r-- 1 polprog polprog 102 Apr 13 00:40 CONFIG.OLD -rw-r--r-- 1 polprog polprog 104 Apr 13 00:43 CONFIG.SYS -rw-r--r-- 1 polprog polprog 377 May 29 1999 CONFIG.SYS~ -rwxr-xr-x 1 polprog polprog 11111 May 31 1994 DELTREE.EXE -rwxr-xr-x 1 polprog polprog 5861 May 31 1994 DOSKEY.COM -r--r--r-- 1 polprog polprog 66294 May 31 1994 DRVSPACE.BIN -rwxr-xr-x 1 polprog polprog 69662 Oct 17 1994 EDIT.EXE -rw-r--r-- 1 polprog polprog 17898 May 31 1994 EDIT.HLP -rw-r--r-- 1 polprog polprog 192 Jun 24 2019 EDIT.INI -rwxr-xr-x 1 polprog polprog 120926 May 31 1994 EMM386.EXE -rwxr-xr-x 1 polprog polprog 29336 May 31 1994 FDISK.EXE -rwxr-xr-x 1 polprog polprog 6770 May 31 1994 FIND.EXE -rwxr-xr-x 1 polprog polprog 22974 May 31 1994 FORMAT.COM -rw-r--r-- 1 polprog polprog 29136 May 31 1994 HIMEM.SYS -r--r--r-- 1 polprog polprog 40774 May 31 1994 IO.SYS -rwxr-xr-x 1 polprog polprog 9390 May 31 1994 LABEL.EXE -rwxr-xr-x 1 polprog polprog 32502 May 31 1994 MEM.EXE -rw-r--r-- 1 polprog polprog 7 Jul 6 1997 MOUSE.@@@ -rwxr-xr-x 1 polprog polprog 56408 Mar 10 1993 MOUSE.COM -rw-r--r-- 1 polprog polprog 24 Feb 2 1996 MOUSE.INI -rw-r--r-- 1 polprog polprog 31701 May 1 1990 MOUSE.SYS -rwxr-xr-x 1 polprog polprog 25361 May 31 1994 MSCDEX.EXE -r--r--r-- 1 polprog polprog 38138 May 31 1994 MSDOS.SYS -rwxr-xr-x 1 polprog polprog 194309 May 31 1994 QBASIC.EXE -rw-r--r-- 1 polprog polprog 130881 May 31 1994 QBASIC.HLP -rw-r--r-- 1 polprog polprog 5873 Apr 13 00:39 RAMDRIVE.SYS -rwxr-xr-x 1 polprog polprog 38342 May 31 1994 RESTORE.EXE -rwxr-xr-x 1 polprog polprog 124262 May 31 1994 SCANDISK.EXE -rw-r--r-- 1 polprog polprog 6920 May 31 1994 SCANDISK.INI -rwxr-xr-x 1 polprog polprog 12015 May 31 1994 SETVER.EXE -rwxr-xr-x 1 polprog polprog 10912 May 31 1994 SHARE.EXE -rwxr-xr-x 1 polprog polprog 9432 May 31 1994 SYS.COM -rwxr-xr-x 1 polprog polprog 6945 May 31 1994 TREE.COM -rwxr-xr-x 1 polprog polprog 26416 May 31 1994 UNDELETE.EXE -rw-r--r-- 1 polprog polprog 235 Feb 23 1995 UNDELETE.INI -rwxr-xr-x 1 polprog polprog 12738 May 31 1994 UNFORMAT.COM -rwxr-xr-x 1 polprog polprog 16930 May 31 1994 XCOPY.EXE
Apart from that, my often used boot floppy set contains regular DOS 6.22 bootable floppy, DOS 6.22 with CD and mouse enabled by default, MS-DOS 3.3 (for older needs, if I recall correctly it has a NEC CD driver set up?). Some of the utility software on the floppies is Craig Hart's PCI.EXE (DOS version), JUPP (which seems to be a fork of Joe's own Editor and has a DOS distribution), Zork I and ROGUE (for fun).
When running PCI.EXE it's a very good to do it from the ramdisk. The software uses a flat file database (PCIDEVS.TXT) for PCI IDs and has to re-read that every time it finds each PCI device on the computer... When ran from the floppy disk it takes about 20 mins to fully list them all. Ran from the ramdisk, it's so fast that scrolling the display takes more time than the actual bus probe!
Recently, for connecting floppies to the 21st century I symlinked /mnt to /var/www/ on one of the lab PCs (that has a real floppy drive) and I just mount the floppy in /mnt, then use HTTP to download files off it, or SFTP if I need to transfer them. This way I can use any other computer on the LAN to transfer data to and from the floppies.
That lab PC was also the one where DOS was installed in QEMU and the one that sometimes gets booted up with the DOS floppy in drive, so as to wake up running MS-DOS 6.22 instead of Debian.