VOGONS


First post, by pool7

User metadata
Rank Newbie
Rank
Newbie

Hope this is the right forum, otherwise feel free to move it as needed.

As part of a project, I'm looking into having the ability to quickly and easily switch between many DOS flavors (ie. various versions from various companies). While I intend to start this in an emulated environment (86box), the real use will be in retro hardware (P3) with other existing OSes.
Here are the options (in no particular order) I've thought of; I'm looking to get additional options if y'all can think of any, as well as feedback on pros/cons:

1-Boot disks (floppies):
pros: retro-feeling (?); easy to edit config files as needed
cons: slow; many floppies; prone to error/failure

2-Boot CD (emulated floppies):
pros: capacity
cons: read-only; maybe some compatibility issue?

3-Gotek (hardware floppy emulator):
pros: capacity; better than real floppies
cons: PitA to choose floppy when there are many

4-Installed to HDD with Bootloader/manager:
pros: already have and use BootIt BM which is ideal for something like this
cons: too many partitions; may make things messy if need to access files from one partition to another

I was thinking it would be ideal to do something like an improved #4, but I've found a variety of roadblocks just reading about it:
-install each DOS in a "VM", to its own folder, grab all resulting folders/files, capture each boot sector
-in the target HDD, in a single partition, copy all these folders (which would contain all DOS utilities from each version)
-have a way to boot the corresponding IO.SYS / MSDOS.SYS / COMMAND.COM from some kind of bootmenu (this is the main issue)
-maybe using a chained bootloader?
-or creating some kind of universal SYS.COM that can be used on boot to install the files for the version you choose
-keep all functionality intact, including CONFIG.SYS / AUTOEXEC.BAT custom menus

Are there known games/apps that will not work if drive A:\ is in use or if DOS was booted from floppy instead of HDD?
Any compatibility or other issue you can think of for the above scenarios?
Any other suggested scenario?

Reply 1 of 10, by myne

User metadata
Rank Oldbie
Rank
Oldbie

I'm moderately sure that the 98 boot sector can load any old version of dos.

The way to enable it is pretty simple.
You rename msdos.sys, io.sys, command.com,autoexec.bat and config.sys to *.dos

And you enable the oldmsdos menu in the 9x msdos.sys

You don't need any special tricks. Just copy those files to root.

Now, it might be possible that it will simply load whatever of those files are correctly named.

Ie, the 98 boot sector and dos 5.0 io, msdos, command, etc.

In which case, it wouldn't be that hard to write a config.sys menu and autoexec bat that renames any and every version you want and reboots.

Eg
Copy msdos.50 msdos.sys
Copy io.50 io.sys
Copy command.50 command.com

Etc
Reboot

The trick will be putting the menu autoexec and config sys back at the end of every version's autoexec - probably best to call another bat on the last line so it doesn't error.

If it won't simply load that way, you'll have to figure out the same thing but renaming them as *.dos and probably whatever flag is set when/if windows reboots to old msdos.

Might help
https://www.mdgx.com/msdos.htm

Especially BootMulti= and BootWin=

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 2 of 10, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Found this too
booting multiple dos version on one machine.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 3 of 10, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

I'd suggest using memdisk with either grub or isolinux, and booting small hard disk images from the CDROM, rather than floppy images.

you can have as many on there as will reliably fit, and with a DVD image, that's... A LOT of possible images.

Reply 4 of 10, by kmeaw

User metadata
Rank Member
Rank
Member

Grub4dos is capable of chainloading IO.SYS (or the appropriate equivalent like kernel.sys) of most DOS versions. So you can have a single partition and a menu.lst for Grub that presents the user with a menu to choose an IO.SYS to boot from.
If Grub4dos is not able to boot some particular flavor of DOS, you can still use it - either by chainloading a saved boot sector or by booting a disk image. Unlike memdisk, Grub can do nested images and images larger than available RAM.

Reply 5 of 10, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Again, just straight up isolinux/grub2, and memdisk.

memdisk gets loaded like a linux kernel on the menu item in the list, with the disk image it will serve as the initrd. It hooks int15, and int13, to subtract the appropriate amount of memory from the extended memory pool, then uses less than 1k of conventional memory to provide INT13 services to the disk image.

feed it some very small 5mb or so disk images. This leaves the diskette drives free for actual use, and does not need the CD in the drive after booting (since the whole image gets copied to RAM.)

You can even boot windows this way.

Reply 6 of 10, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

I recall using a tool called "MagicISO" to do exactly this.

It allowed you to create CDs/DVDs which have different boot images and you would
select which one via an on-screen menu when it booted.

I used it to make a DVD with stand-alone bootable systems for various
test environments, some of which used different OSs.

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 7 of 10, by pool7

User metadata
Rank Newbie
Rank
Newbie

Thank you all for your replies so far.

@myne
I was under the impression this option was only for having Windows + 1 DOS version, and I've also read somewhere that it had some issues; it's one of my least favorite options, but I will give it a try and see how it works.
And thank you for the link to the other thread 😀

@wierd_w and kmeaw
I've used Grub4dos as well as isolinux and memdisk in the past for other projects, and I feel they may be the best approach. Thanks for the details on each, especially the idea of using small hard disk images; for some reason I had forgotten this was a thing.

@DaveDDS
MagicISO would fall under scenario #2 (Boot CD (emulated floppies)).
I will check MagicISO to see if it offers additional features that may be useful.

Keep 'em coming 😀

Reply 8 of 10, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Memdisk-hosted DOS instances still probe for other DOS-readable partitions on the actual disk controller(s).

Because of this, if used in a retro machine, I'd suggest a 'communal' ext-dos partition + logical drive, that is readable by all DOS versions you intend to have available. (This means 32mb tops, if you are using Dos 3.x) This way the boot drive only contains the OS, and is hosted by memdisk, but the communal drive is always accessible, writes are permanent, and can be where any menu system or dos games live.

Using say, a linux ext2 volume as the actual bootable partition (with GRUB), with all the disk images hosted there, would net you all the different envirionments you could ask for, including 'very hard to break' copies of win9x, if you have sufficient ram to devote. (Need 256mb to do realistic win95A+ plus!pack, 384mb for win98 oem, and 512mb for win98SE, assuming you turn on drivespace 3, and ultrapack the bejeebus out of them. I've delved into this quite aggressively in the past.)

Reply 9 of 10, by kmeaw

User metadata
Rank Member
Rank
Member
wierd_w wrote on 2024-09-17, 14:23:

all the different envirionments you could ask for, including 'very hard to break' copies of win9x, if you have sufficient ram to devote. (Need 256mb to do realistic win95A+ plus!pack, 384mb for win98 oem, and 512mb for win98SE, assuming you turn on drivespace 3, and ultrapack the bejeebus out of them. I've delved into this quite aggressively in the past.)

It brings me back memories of an internet cafe I used to visit in the past. They used compressed ramdisks to boot win98 to reach two goals - provide the user with a very limited free "disk" space (extra was available for premium on request) and have a fresh system on each boot (so if a user breaks something, a reboot will fix it).

Reply 10 of 10, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
pool7 wrote on 2024-09-17, 12:47:

Keep 'em coming 😀

Couple other thoughts....

I didn't even think if these since I'm so used to them - all my systems have removable hard drive
"carriers" - you can easily pop out one drive and put in another (with system powered off obviously).

Another good option if you don't need a "real" machine.... Check out my DBBD tool (DosBox BootDos)
It automates booting from various DOSes ... I happen to use a good sized RamDisk, so for me it builds
a DosBox that autoboots the selected DOS there.

I have MS-DOS, PC-DOS, FreeDos, CalderaOpenDOS and PTS-DOS set up
for it. (I'll add DR-DOS if I find it again)

These boot under DosBox which has VERY good hardware emulation (needs to be
for games) but since it boots the actual OS, DosBoxs "quirks" are not really seen.

My DOSs boot from virtual-floppy and set up a good sized RamDisk as C: .. I've got a more
permanent setup on a virtual hard drive which actually boots C:

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal