Skip to content

Releases: ecliptik/dossage

Release list

v1.0.0

Choose a tag to compare

@ecliptik ecliptik released this 10 Sep 18:25

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 .tga image 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.