Repository navigation
Releases: ecliptik/dossage
Release list
v1.0.0
Passage, Jason Rohrer's five-minute memento-mori game from 2007, ported to MS-DOS on real 486/Pentium-class hardware via SDL3's DOS backend, DJGPP, and CWSDPMI. First tagged release.
Features
- 32-bit protected-mode DOS via DJGPP + CWSDPMI
- SDL3 running on DOS (VESA graphics, keyboard input)
- Custom sample-level software-synth audio (Timbre/Envelope) -- no SDL_mixer, no file-based sample decode
- Custom uncompressed
.tgaimage decoder -- no SDL_image - The complete game, including graphics and music: Passage's engine and assets are both public domain from the same author, so nothing further needs to be supplied
- DOSBox-X automated smoke tests plus a full real-hardware benchmark matrix (below)
Performance (real hardware)
Passage's own source caps the game at 15 fps by design (lockedFrameRate = 15 in game.cpp), so these numbers aren't something to maximize -- they confirm the port holds that ceiling everywhere, even on its slowest supported CPU. 12/12 PASS against the 14.90 fps KPI line:
| CPU | ATI Mach64 215CT/-ET | S3 ViRGE 86C375 | Cirrus CL-GD5430/5434 |
|---|---|---|---|
| Pentium OverDrive 83 | 15.02 fps | 15.02 fps | 15.02 fps |
| Am5x86-133 | 14.97 fps | 15.02 fps | 15.02 fps |
| 486DX2-66 | 15.02 fps | 15.02 fps | 14.97 fps |
| 486DX2-50 | 14.99 fps | 15.02 fps | 14.97 fps |
Full methodology and per-cell logs: docs/benchmarks/.
Fixed
- ATI Mach64 landed on 512x384 instead of 640x480 at load, visible as green corruption above the title logo. SDL3's own closest-fullscreen-mode matching tie-breaks same-aspect-ratio candidates (320x240/512x384/640x480 are all 4:3) by always keeping the smallest, and this card has no native 320x240 mode. Now enumerates available modes directly and prefers 640x480 explicitly when the exact request isn't available. Confirmed on real Mach64 hardware: clean 640x480, no corruption.
- Quit screen showed debug clutter with no way to scroll back. Upstream Passage's own min/max-world-bounds debug prints, and this port's own frame-time diagnostic, both wrote to the DOS text console with nothing to catch them. Suppressed / moved into RUNMANI.LOG; the frame-rate summary itself is unchanged.
Licensing
Passage and its minorGems dependency are both public domain, verified directly against the author's own statements. SDL3 is zlib. DJGPP's C runtime carries no restriction when used unmodified, plus the GCC Runtime Library Exception for linked libgcc code -- no GPL-proper component in the link line, so DOSSAGE.EXE carries no copyleft obligation. Full attribution: THIRD-PARTY.md.
Download
dossage.zip contains DOSSAGE.EXE, the CWSDPMI.EXE DPMI host, license texts, and the complete game. See README.TXT inside the archive for the quickstart.