Now I need to whittle it down to just the games that "mattered", at least for me anyway

Problem is the launcher comes after having setup the memory. You cannot chose XMS or EMS after you booted and launched the launcher. To make this work, you would have to pick the game in a boot menu and have that set the memory settings and possibly directly into the game.sid wrote: ↑Wed Oct 07, 2020 5:33 amThe 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.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/
Oh yeah... that does seem like it should work for everything.sid wrote: ↑Wed Oct 07, 2020 5:47 pmWow! Sounds like a perfect solution for all games!flynnsbit wrote: ↑Wed Oct 07, 2020 4:54 pm You mean something like this?
https://www.youtube.com/watch?v=tmSFSXE ... e=youtu.be
There are a lot of abandonware sites and there is the exodos collection. There are also a lot of the classic games on GOG, and they might be wrapped in an emulator. Sometimes it is a problem if its using ScummVM, but the ones that use DOSBox should not be a problem, you can just take the game files and use those.Tchucolate wrote: ↑Wed Oct 07, 2020 10:07 am 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.
Think I speak for a lot of folks when I say we'll understand if you can't finish. We all have busy lives after all, it was thoughtful of you to even consider this at all.Bas wrote: ↑Tue Aug 24, 2021 8:14 pm I've been doing this manually for a while. Now constructing a build pipeline that takes a config file, OS binaries and game binaries to cobble together a VHD. Works nicely and is a very kids-friendly way of packaging DOS games, but I hardly have time anymore these days and between my package mgt project and this.. progress is incredibly slow.
Try this one: viewtopic.php?t=4470thorr wrote: ↑Fri Sep 23, 2022 10:05 pm Edit 2: I think this is the thread I am looking for: viewtopic.php?t=2493
Congratulations, you're doing a great and invaluable job!Bas wrote: ↑Mon Sep 26, 2022 8:33 am I will share my work-in-progress by the end of this week. Initially I had wanted to open-source the toolbox when it reaches a minimally viable state, so that it'd be at least structurally sane and usable for a minimal purpose. I probably won't achieve that goal before next Sunday. I'm now focusing on a few things:
1. Documenting things so that they're understandable to all who can work with Rust.
2. Finish the implementation of FAT16 either by using an existing crate, or by coding the bare minimum myself.
The main issue here is in point 2. Like I said, the tool now creates a disk image of any size up to the old ~528MB LBA limit and deploys a single primary partition on there that fills the "disk". When using MS-DOS 6.22, these images work fine. I can format the partition, Scandisk doesn't complain about anything anymore, and after a FORMAT /S, the system boots from them smoothly.
Existing Rust crates for implementing FAT, however, do not follow Microsoft very closely but base off other implementations like the Linux vfat driver or other people's reverse engineering efforts. Those efforts all had the focus of using FAT in production in some sort of form, on modern systems. What we're doing here, is reimplement FAT as it worked decades ago as if we were flashed back to that time period and none of those modern systems exist yet.
TLDR: I need a way to do what MS-DOS 6.22's FORMAT /S does, but independently from MS-DOS, so that I can integrate that into a CI/CD build pipeline. The sad bit: Microsoft doesn't document any of that in a sufficiently detailed way and FreeDOS has drifted too far away from it, and I'm still an absolute n00b at programming things that are this low-level.
The steps after that:
3. Formulate a sort of recipe/metadata format that can be read by a CI/CD pipeline and used to write the game + support files like mouse drivers, tweaked DOS extenders etc. to the image, and compose files like CONFIG.SYS and AUTOEXEC.BAT in an automated way. The way I see this now, Ansible looks like a decent candidate for doing this. A specific role could abstract away the nitty-gritty, and we'd end up with a simple-to-write YAML manifest per game. Now I've been living and breathing Ansible in my day job for years, so I really hope to get over the FAT bump soon.
4. Run all of these manifests through a pipeline script. The result, effectively, should be a 1-to-1 mapping of YAML manifest to a resulting VHD.
Why do it this way? Reduction of toil. Anyone and everyone can duplicate this, tweak the YAML, the Ansible role or the Rust codebase for the image generator, and auomatically generate new VHD's on the spot. This takes out masses of manual toil that must be repeated whenever someone finds an improvement, the core evolves in some incompatible way, or someone figures out how to run a particular game that didn't work before.