Individually Bootable VHDs for Each Game

User avatar
syltefar
Posts: 31
Joined: Mon May 25, 2020 1:49 pm
Has thanked: 21 times
Been thanked: 14 times
Contact:

Individually Bootable VHDs for Each Game

Unread post by syltefar »

I've been thinking about how to organize the DOS games for my MiSTer.
My current idea is creating a small bootable DOS VHD, clone it for each game I want to run, and install each game in its own VHD. I will end up with a bunch of VHDs, each with a single game, ready to boot.

As far as I can see, this approach has some benefits:
- If a game has special startup needs, I can modify the VHD without breaking any other games.
- Save games will be retained in the VHD and can be backed up.
- Games can be copied to and from the MiSTer individually, which is faster than a big monolithic VHD.

And a drawback:
- I will waste a little bit of space with all the DOS installations on the individual VHDs.

Did someone try this approach? What are the drawbacks I'm not thinking of?
breiztiger
Top Contributor
Posts: 468
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 35 times
Been thanked: 99 times

Re: Individually Bootable VHDs for Each Game

Unread post by breiztiger »

Perhaps you can use hdd software Compressor like drivespace or xtradrive to reduce vhd size
CPC-Power Staff
HMPoweredMan
Posts: 38
Joined: Fri Sep 11, 2020 7:37 pm
Been thanked: 2 times

Re: Individually Bootable VHDs for Each Game

Unread post by HMPoweredMan »

That could work. The only drawback I could see is if you update your configuration... peripheral drivers or the core gets new hardware and needs configured, you'll have to do it for every single VHD
throAU
Posts: 181
Joined: Fri Sep 11, 2020 1:06 am
Has thanked: 233 times
Been thanked: 27 times

Re: Individually Bootable VHDs for Each Game

Unread post by throAU »

Hey there

Sounds like a neat idea, however not sure if you realise or not, but the different DOS boot configurations at least can be done with MS-DOS 6.x or FreeDOS (and possibly others such as DR-DOS) via a boot menu (don't ask me how off the top of my head, it's been 25-30 years :D - but it is definitely do-able and the documentation is surely out there somewhere; I remember doing it back in the day with real hardware)

Maybe less overhead than dealing with multiple VHDs?
flynnsbit
Top Contributor
Posts: 552
Joined: Sun May 24, 2020 8:07 pm
Has thanked: 185 times
Been thanked: 310 times
Contact:

Re: Individually Bootable VHDs for Each Game

Unread post by flynnsbit »

Better approach is a main VHD that you slot in the primary slot for the OS, and a menu built in to load the right memory setup for the games you are going to play (QEMM + DOS 7.1) seems to be the most compatible. Then in the Secondary slot have a VHD setup with the games you want to play with a front end built in with a batch script on the D: drive (secondary) that auto loads the front end. Then call that from the Autoexec.bat on C:. So no matter what you put in the Primary partition (OS and Memory) the batch and games stay separate on D:. That's how I do it. See here: https://www.youtube.com/watch?v=bMj-ryrTv5w
User avatar
kathleen
Top Contributor
Posts: 421
Joined: Fri Jun 26, 2020 4:23 am
Location: Belgium
Has thanked: 243 times
Been thanked: 138 times

Re: Individually Bootable VHDs for Each Game

Unread post by kathleen »

syltefar wrote: Mon Sep 21, 2020 7:20 pm I've been thinking about how to organize the DOS games for my MiSTer.
My current idea is creating a small bootable DOS VHD, clone it for each game I want to run, and install each game in its own VHD. I will end up with a bunch of VHDs, each with a single game, ready to boot.

As far as I can see, this approach has some benefits:
- If a game has special startup needs, I can modify the VHD without breaking any other games.
- Save games will be retained in the VHD and can be backed up.
- Games can be copied to and from the MiSTer individually, which is faster than a big monolithic VHD.

And a drawback:
- I will waste a little bit of space with all the DOS installations on the individual VHDs.

Did someone try this approach? What are the drawbacks I'm not thinking of?
From my point of view I'd say, yes why not, not a bad idea at all but personally I won't do that for the simple reason that if it will ease the way you start the games, this manner to proceed will end to something too close to the console and not a computer use like it was back in the day. It is of course my vision of the AO486, I really like this core to face to the same "problems" that I faced 30 years ago on real hardware. Otherwise I'll use DosBox with its scripts to directly play a game w/o knowing what is behind. It a choice of course, you idea is anyway good.

かすりん

throAU
Posts: 181
Joined: Fri Sep 11, 2020 1:06 am
Has thanked: 233 times
Been thanked: 27 times

Re: Individually Bootable VHDs for Each Game

Unread post by throAU »

flynnsbit wrote: Tue Sep 22, 2020 2:27 am Better approach is a main VHD that you slot in the primary slot for the OS, and a menu built in to load the right memory setup for the games you are going to play (QEMM + DOS 7.1) seems to be the most compatible. Then in the Secondary slot have a VHD setup with the games you want to play with a front end built in with a batch script on the D: drive (secondary) that auto loads the front end. Then call that from the Autoexec.bat on C:. So no matter what you put in the Primary partition (OS and Memory) the batch and games stay separate on D:. That's how I do it. See here: https://www.youtube.com/watch?v=bMj-ryrTv5w
That would be another way to do it if you can't the bothered figuring out DOS boot menus - just load the appropriate system drive and leave the data drive with your games on it.

Personally I run FreeDOS which has a few different options for different memory configs out of the box, and I have a seperate VHD for D drive for all the games, but it's only been a few days and I never ran FreeDOS before so remains to be seen how compatible it is with games written for MS-DOS. So far so good but...
kaz321123
Posts: 18
Joined: Thu Aug 27, 2020 6:15 am

Re: Individually Bootable VHDs for Each Game

Unread post by kaz321123 »

I really love this idea. My windows 95 has 'sim city 2000 special edition' on it now. The sound files sound horrible, but otherwise the game runs correctly.

Not sure how to fix the sound issue, but your idea would be a perfect solution. I'm a complete newbie at this. I got this far because I found someone else's vhd for win95, and went from there. I want to do win98, but I don't know the steps.
User avatar
syltefar
Posts: 31
Joined: Mon May 25, 2020 1:49 pm
Has thanked: 21 times
Been thanked: 14 times
Contact:

Re: Individually Bootable VHDs for Each Game

Unread post by syltefar »

kathleen wrote: Tue Sep 22, 2020 4:32 am if it will ease the way you start the games, this manner to proceed will end to something too close to the console and not a computer use like it was back in the day.
Yeah, I think you hit the nail on the head, kathleen. I think I *do* want a DOS console, even though that sounds so wrong! :)

I have researched tools for creating the bootable VHDs, and so far I have dd to create a template HD image file, DOSBox to install DOS 6.22, and qemu-img to convert to VHD. I'm documenting my process, if anyone should be interested later.
User avatar
thera34
Posts: 132
Joined: Fri Sep 11, 2020 7:51 am
Has thanked: 96 times
Been thanked: 89 times

Re: Individually Bootable VHDs for Each Game

Unread post by thera34 »

@syltefar Your idea sounds to me as a sort of GoG for FPGA "ready on a stick" game on the go. And I like this tbh :) but as @HMPoweredMan, you'd have to cope with config changes, if needed for some updates on all VHDs.
I'm no expert, but maybe for Windows a PowerShell script can be made to mount each vhd at a time, copy/overwrite new files, unmount, next etc Guess for linux similar logic can be applied. As said, just a thought :)
User avatar
Caldor
Top Contributor
Posts: 930
Joined: Sat Jul 25, 2020 11:20 am
Has thanked: 112 times
Been thanked: 111 times

Re: Individually Bootable VHDs for Each Game

Unread post by Caldor »

It could work, but... there are thousands of DOS games, but it seems easier to switch games with one of the many DOS launchers instead of having to use the MiSTer menu to switch games.

But it should ensure that each VHD has a working configuration for that game. But maybe instead they could be for a collection of games? A bit like a CD game collection for the Amiga CD32 or a Cartridge game collection for the C64. So maybe a VHD with all Commander Keen games, or all ID Software games. Would be nice to instead of having a boot menu with 4-5 different configurations, it had one that matched all the games on that VHD.
User avatar
thera34
Posts: 132
Joined: Fri Sep 11, 2020 7:51 am
Has thanked: 96 times
Been thanked: 89 times

Re: Individually Bootable VHDs for Each Game

Unread post by thera34 »

Why not include AO486 compatibility list excel file (I see it has a lot of games that can be grouped in a single vhd) as reference maybe ? Think it ca be used as template and make a list on what to put in each VHD ?
throAU
Posts: 181
Joined: Fri Sep 11, 2020 1:06 am
Has thanked: 233 times
Been thanked: 27 times

Re: Individually Bootable VHDs for Each Game

Unread post by throAU »

Caldor wrote: Wed Sep 23, 2020 7:25 am It could work, but... there are thousands of DOS games, but it seems easier to switch games with one of the many DOS launchers instead of having to use the MiSTer menu to switch games.

There are thousands of DOS games, but back in the day (I ran DOS for gaming back in the 90s) the only real options I ever had to deal with were:

* a config with XMS via himem.sys and no EMS
* a config with XMS and EMS via EMM386
* a config with no memory management for maybe 0.1% of software that used its own memory manager and could don't coexist with himem.sys. the only software I can think of off the top of my head that required this were some old school DOS demoscene demos


You'd only need 2-3 boot options either by picking 3 different boot drives (leaving all your games on a second VHD) or by building a DOS boot menu for different boot configurations.
User avatar
syltefar
Posts: 31
Joined: Mon May 25, 2020 1:49 pm
Has thanked: 21 times
Been thanked: 14 times
Contact:

Re: Individually Bootable VHDs for Each Game

Unread post by syltefar »

throAU wrote: Thu Sep 24, 2020 6:12 am There are thousands of DOS games, but back in the day (I ran DOS for gaming back in the 90s) the only real options I ever had to deal with were:

* a config with XMS via himem.sys and no EMS
* a config with XMS and EMS via EMM386
* a config with no memory management for maybe 0.1% of software that used its own memory manager and could don't coexist with himem.sys. the only software I can think of off the top of my head that required this were some old school DOS demoscene demos

You'd only need 2-3 boot options either by picking 3 different boot drives (leaving all your games on a second VHD) or by building a DOS boot menu for different boot configurations.
That's good to know, maybe I can make the two first as templates, and base everything else on those.

I think part of the reason that I want to go the individual VHD route is that I don't have enough of an overview of DOS to be able to create a couple of boot configs that *just work* with all the games.
SScorpio
Posts: 1
Joined: Mon May 25, 2020 11:05 pm
Been thanked: 1 time

Re: Individually Bootable VHDs for Each Game

Unread post by SScorpio »

There was a big Discord discussion about this about a month ago. The way I thought would work best would be a system VHD and game VHD. The system VHD would have an installation of DOS and any utilities. The benefit of having it separate is you can update drivers, utilities, and configs once and apply across all the game VHDs.

The end of autoexec.bat would run D:\run.bat which would launch the game. To switch games from DOS you just change the secondary VHD and select apply HDD and reset.

For configs you could have multiple config.sys and autoexec.bat pairs. Set an environmental variable and the game VHD's run.bat can check for the right env var. If it's not set it can overwrite the config files (ie: copy config.xms config.sys and copy autoexec.xms autoexec.bat) and just reboot.

The game VHD can even use sysctl.exe to set the CPU speed and enable/disable L1 or L2 cache if a game is speed sensitive.
User avatar
Caldor
Top Contributor
Posts: 930
Joined: Sat Jul 25, 2020 11:20 am
Has thanked: 112 times
Been thanked: 111 times

Re: Individually Bootable VHDs for Each Game

Unread post by Caldor »

I do think a system VHD and a games VHD makes a lot of sense.

There is a thread here sharing some FreeDOS VHDs. But I have ended up spending some time making a FreeDOS bootdisk with a useful collection of tools and memory setups.

This is the thread:
viewtopic.php?f=13&t=843&start=25

This is the bootfloppy:
http://dionysus.dk/software/DOS/AO486_floppy.7z

But making individual VHDs for each game, it seems the VHD might as well include the system, at least if its DOS which I am thinking is the main intent anyway. DOS does not really take up more than a disk if its just to boot a game. A DOS 6.22 or 7.1 bootdisk can be made the same way I made the FreeDOS bootdisk. Especially when also adding sysctl and such to make the configurations even more specific.

But since there are thousands of DOS games, I still think it would make more sense to have several games on each VHD, making it into different collections, and maybe let each VHD have a DOS menu for launching these games. A good option for this is Launchbox for DOS I think.
https://forums.launchbox-app.com/files/ ... l-edition/

Its from the developers of Launchbox for Windows, an emulator frontend but made for DOS. The advantage of it is that you can add games and programs to it, but also individual configurations for these games. I know some have f.ex. already added sysctl.exe and DOS32A configurations to it.
throAU
Posts: 181
Joined: Fri Sep 11, 2020 1:06 am
Has thanked: 233 times
Been thanked: 27 times

Re: Individually Bootable VHDs for Each Game

Unread post by throAU »

I suspect that being gpl, FreeDOS would permit a distribution of a preconfigured boot VHD with a few different mister specific configs vis the boot menu.

I’m new to freedos but will see what I can nut out with it and maybe upload somewhere?

I remember the basics of what I used to need to run most things back under MS DOS but it was 30 years ago and might take me a little to translate it to freedos. 😂
User avatar
madelk
Posts: 5
Joined: Sat Oct 03, 2020 5:28 pm
Location: USA
Been thanked: 2 times

Re: Individually Bootable VHDs for Each Game

Unread post by madelk »

This might be useful to noone, but I was working a little tonight on something that could batch create some VHDs. Once I get this to a better state I was thinking of running it against the 7000 DOS set and then HDD would be in a good starting state for future tweaking.

There's so much temperamental stuff with these old games that I figure a good starting point followed by some messing around with each game might be the best path. As they get sorted and working they could be sent to archive.org and maybe added to a smokemonster set?

Anyway, here's the start of my script: https://github.com/madelk/expandziptovhd
Tchucolate
Posts: 21
Joined: Sun Oct 04, 2020 1:04 pm

Re: Individually Bootable VHDs for Each Game

Unread post by Tchucolate »

There are indeed several thousand DOS games, but, like most systems, many of these would not be much cop. I think there is a place across ALL of the MiSTer cores for completionist sets of games, and also for curated.

Personally, as a 50 year old guy, Im not sure if I have time in my life to play several thousand games, or at least hundreds of games on each core, to find "hidden gems". Sad but true. Its a big enough task to play all the "rated" games I did not get to play.

For example, back in the day, I LOVED Infocom text adventures. Here in the UK,they were rare in retail, and I also did not always have the funds to buy them. But I KNOW that if I played the ones I did not have back then, Id have a decent return for my time.

So, I am certainly willing to play through curated sets of games, based maybe on top 10 games, by sales, during the whole 80s - 90s eras. This would, Im sure produce a MUCH more limited set of games, that certainly could be bundled in some way. Im not sure if the data for these charts exist. But Ideally, it would be an agregate of international sales charts, to stop it being to centric to the USA, for instance.

If we were to build a list of such titles, we can then think about different ways to cut the cake. For instance, we can have VHDs which are based on single years, these could be more completionist in nature. OR, single years, only containing top 10 games by sales. These would be much smaller, and more managable VHDs, which (you'd expect) a much higher quality threshold.

Alternatively, we can have VHDs that are themed by type, text adventures, graphical adventures, action, first person, and so on.

Now, is there a place where we can upload such VHDs? Ideally its somewhere that will be long term, free, and with decent tools for managing the files i.e. we HAVE to be able to delete files are old or which are mistakes

I can see 3 main libraries of VHD files
Yearly curated top 10-20 only games i.e. Best of 1989
Yearly completionist compilations i.e. ALL games of 1987
Compilations of game types i.e. Best Text Adventures

If think mosly yearly VHDs make sense, as games in a single year are DESIGNED to run in that eras hardware, so getting a DOS config that works with is more feasible. Some compilations, like text adventures, will almost certainly work on any version of DOS, so are less time period sensitive

I think having a VHD per game would be overkill, but maybe having a compilation as a standalone, with its own bootable DOS, and menu, would be more practical and easier to use than having separate SYSTEM and GAMES disks?
User avatar
madelk
Posts: 5
Joined: Sat Oct 03, 2020 5:28 pm
Location: USA
Been thanked: 2 times

Re: Individually Bootable VHDs for Each Game

Unread post by madelk »

Maybe it's just the fascination of treating a PC like a game console with individual files for each game. Turning something so complex into something that is so plug and play that you pick your game from the Mister menu and it just boots reliably.
Having it work like other hdd based Mister cores would be very cool too, but there just isn't enough space on an 8gb disk. Although, now I think about it... The recent Mister update did allow scripting the mounting of CDs. I bet every game could fit on an 8gb hdd if no CD files were included. The CDs could be separate and mounted as part of the game launching
Tchucolate
Posts: 21
Joined: Sun Oct 04, 2020 1:04 pm

Re: Individually Bootable VHDs for Each Game

Unread post by Tchucolate »

Im a PC man since about 1993, when my first job involved setting them up for customer demos, I worked for ICL, which later got swalled into Fujitsu. Are we revisiting the 1992 DOS machine to do work? Are we revisiting it to do 3D rendering on 3D Studio. For me, no. I lived that, and Im happy to use their modern equivalents that are a LOT more capable.

For games, YES, I would welcome a more console like experience, because with the ao486 core and VHD files we can actually have ANY experience we want with these machines. Build a normal working machine of the day, with Word or some kind of database software, or make targeted cores that make games just work.

The PC was a pain compared to consoles, lots of IRQs, hardware conflicts and .bat files, so why would you WANT to go through that pain to play a game. Me, Id rather load say, an RPG compilation VHD and just get on with playing some old classics like Ultima IV.

Get a 64GB MicroSD, and fill it with smaller VHDs that are targetted and I think that would be a good experience for those that want to just revistit or discover some old PC classic games.
User avatar
buttersoft
Posts: 49
Joined: Fri Aug 28, 2020 11:57 pm
Has thanked: 15 times
Been thanked: 7 times

Re: Individually Bootable VHDs for Each Game

Unread post by buttersoft »

madelk wrote: Tue Oct 06, 2020 3:31 am Anyway, here's the start of my script: https://github.com/madelk/expandziptovhd
That's great! The steps don't seem hard to follow. Any catches though? I presume you need to setup the right autoexec.bat and config.sys files, or is this handled in the script?
User avatar
madelk
Posts: 5
Joined: Sat Oct 03, 2020 5:28 pm
Location: USA
Been thanked: 2 times

Re: Individually Bootable VHDs for Each Game

Unread post by madelk »

buttersoft wrote: Tue Oct 06, 2020 10:23 pm
That's great! The steps don't seem hard to follow. Any catches though? I presume you need to setup the right autoexec.bat and config.sys files, or is this handled in the script?
I just updated them quite a lot tonight. I have a note in the Readme about the boot disk I'm using "8-gb-dos-71-qemm.-7z". I believe I have the scripts working for doom and I want to try something to make it work nicely with cd based games with an auto mount (tomorrow). Once that's done I'm just going to spend some time getting my favourite games to work and upload their patch scripts so others can build them too
User avatar
sid
Posts: 33
Joined: Mon May 25, 2020 5:00 pm
Has thanked: 15 times
Been thanked: 10 times

Re: Individually Bootable VHDs for Each Game

Unread post by sid »

Caldor wrote: Fri Sep 25, 2020 10:57 am
But making individual VHDs for each game, it seems the VHD might as well include the system, at least if its DOS which I am thinking is the main intent anyway. DOS does not really take up more than a disk if its just to boot a game. A DOS 6.22 or 7.1 bootdisk can be made the same way I made the FreeDOS bootdisk. Especially when also adding sysctl and such to make the configurations even more specific.

But since there are thousands of DOS games, I still think it would make more sense to have several games on each VHD, making it into different collections, and maybe let each VHD have a DOS menu for launching these games. A good option for this is Launchbox for DOS I think.
https://forums.launchbox-app.com/files/ ... l-edition/
The better way might be to use a launcher which decide which individually memory setting are needed for the game (3 possibilities as mentioned before) and rename the relevant confignoems.sys to the global config.sys with autostart in autoexec and reboot the pc as an example. After quitting the game the config.sys has to be restored.
Tchucolate
Posts: 21
Joined: Sun Oct 04, 2020 1:04 pm

Re: Individually Bootable VHDs for Each Game

Unread post by Tchucolate »

Im wondering, can anyone recommend some sites, where these old DOS games can be downloaded. Ideally, these would be as raw folders and not wrapped in some kind of emulator. Though if the emulator were in a sibling folder that would not be too much of an issue.

I'd like to start making compilation VHDs, but I want to get on with getting the games in there and working, rather than searching the net for good sources of working games.
User avatar
sid
Posts: 33
Joined: Mon May 25, 2020 5:00 pm
Has thanked: 15 times
Been thanked: 10 times

Re: Individually Bootable VHDs for Each Game

Unread post by sid »

Tchucolate wrote: Wed Oct 07, 2020 10:07 am Im wondering, can anyone recommend some sites, where these old DOS games can be downloaded.
I think the exodos collection is the most complete selection of all dos games. Just search for it
flynnsbit
Top Contributor
Posts: 552
Joined: Sun May 24, 2020 8:07 pm
Has thanked: 185 times
Been thanked: 310 times
Contact:

Re: Individually Bootable VHDs for Each Game

Unread post by flynnsbit »

sid wrote: Wed Oct 07, 2020 5:33 am
Caldor wrote: Fri Sep 25, 2020 10:57 am
But making individual VHDs for each game, it seems the VHD might as well include the system, at least if its DOS which I am thinking is the main intent anyway. DOS does not really take up more than a disk if its just to boot a game. A DOS 6.22 or 7.1 bootdisk can be made the same way I made the FreeDOS bootdisk. Especially when also adding sysctl and such to make the configurations even more specific.

But since there are thousands of DOS games, I still think it would make more sense to have several games on each VHD, making it into different collections, and maybe let each VHD have a DOS menu for launching these games. A good option for this is Launchbox for DOS I think.
https://forums.launchbox-app.com/files/ ... l-edition/
The better way might be to use a launcher which decide which individually memory setting are needed for the game (3 possibilities as mentioned before) and rename the relevant confignoems.sys to the global config.sys with autostart in autoexec and reboot the pc as an example. After quitting the game the config.sys has to be restored.
You mean something like this?

https://www.youtube.com/watch?v=tmSFSXE ... e=youtu.be
User avatar
sid
Posts: 33
Joined: Mon May 25, 2020 5:00 pm
Has thanked: 15 times
Been thanked: 10 times

Re: Individually Bootable VHDs for Each Game

Unread post by sid »

flynnsbit wrote: Wed Oct 07, 2020 4:54 pm You mean something like this?
https://www.youtube.com/watch?v=tmSFSXE ... e=youtu.be
Wow! Sounds like a perfect solution for all games!
User avatar
Cebion
Posts: 115
Joined: Sun May 24, 2020 7:30 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Individually Bootable VHDs for Each Game

Unread post by Cebion »

Google is your friend :) There are hundreds just use the term abandonware :)
User avatar
madelk
Posts: 5
Joined: Sat Oct 03, 2020 5:28 pm
Location: USA
Been thanked: 2 times

Re: Individually Bootable VHDs for Each Game

Unread post by madelk »

I was able to get my scripts to a pretty good state so now they are mostly just per game configs being written. I really didn't expect some of these games to launch at all, or at least to run very poorly. But Dark Forces and Theme Hospital? Wow
20201007_233213.jpg
20201007_233213.jpg (5.02 MiB) Viewed 70068 times
Post Reply