No description
  • Rust 76.9%
  • DIGITAL Command Language 23.1%
Find a file
2026-05-12 18:58:04 +02:00
analyzer Start refactoring the analyzer. 2026-04-19 19:36:06 +02:00
builder Clip dead code. 2025-08-09 14:41:54 +02:00
cli Disk reading is now immutable. 2026-04-19 18:12:02 +02:00
common Some more work. 2026-05-03 18:45:16 +02:00
disk Restructure geometry, split off tests. 2026-05-03 14:22:27 +02:00
disk_old Massive refactoring effort ongoing. 2026-04-25 16:24:12 +02:00
dosprofile Binary bootsector for PCDOS 1.00 2026-04-30 19:52:52 +02:00
fat More serialization code integrated, tests. 2026-05-12 18:58:04 +02:00
fat_old FAT crate refactoring in progress. 2026-05-03 16:32:16 +02:00
imagewriter More serialization code integrated, tests. 2026-05-12 18:58:04 +02:00
operatingsystem Update 2026-05-04 17:08:07 +02:00
planner Deps updates, formatting fixes. 2025-08-08 19:23:16 +02:00
specs Formatting cleanups. 2025-08-04 13:53:30 +02:00
.gitignore Update gitignore 2025-07-24 19:30:52 +02:00
Cargo.lock More serialization code integrated, tests. 2026-05-12 18:58:04 +02:00
Cargo.toml More serialization code integrated, tests. 2026-05-12 18:58:04 +02:00
CONTRIBUTING.md Add contribution guidelines. 2025-06-07 11:41:30 +02:00
Jenkinsfile Build manual for the 2.00 branch. 2025-06-21 11:19:01 +02:00
LICENSE Update licensing 2025-07-26 16:15:48 +02:00
README.md Update README.md 2025-01-06 21:13:40 +01:00

Welcome to DOSContainer

DOSContainer aims to provide a command line generator for 100% vintage-compatible floppy and hard disk images for IBM-PC and compatibles. This aims to support my retro computing hobby and the collection building that goes with it.

⚠️ I'm importing and cleaning up an older version of my codebase. Broken builds abound!

What's the point?

The DOS computing environment consisted of huge numbers of hardware configurations with all kinds of drivers and compatibility quirks. That fact, coupled with the fact that there were thousands of games and applications, accounts for literally a bazillion of possible permutations between all of those moving parts.

In order to help collection builders, DOSContainer aims to facilitate the quick creation of pristine disk image files that make up a collection. You tweak the manifest file that serves as input, then DOSContainer pops out a cleanly generated new disk image that is configured precisely to your specifications:

  • File format suitable for use in emulators or for copying straight to old hardware.
  • 100% correct boot sector code
  • FAT filesystem quirks correspond with the OS version.
  • Install bare minimal base OS
  • Middleware, drivers, memory management etc.
  • Your game or application itself
  • Autoboot configuration in AUTOEXEC.BAT

Use case?

You want all of your hundreds of games to boot with EGA configured and Roland MT-32 sound for the old retro setup you have in the attic? DOSContainer makes it easy to do that. It also makes it easy to do the exact same thing but for VGA and SoundBlaster Pro audio for the MiSTer in your living room. Did the world move on and deliver a new mouse driver? Swap it in across thousands of image files without breaking a sweat.

Current status

At the time of this writing, I'm consolidating my previous misguided attempt at organization into this cargo workspace-based repository. Misguided? Indeed: I had all my crates in their own repositories and hosted my own Cargo registry to integrate the whole lot into builds. As it turns out, workspaces are a lot easier in a case like this.

So that's where I am now: shoveling code over from my now private repos into this one, adjusting code as I go because I keep learning as I go. So for all intents and purposes, do treat this code base as BADLY BROKEN and very much incomplete for now. I'll make a release once the main branch here is capable of doing something useful with PC-DOS 1.00 again. That'll also be the point where I start a workflow with tickets and feature branches to invite outside contribution.