Skip to content

ReDMCSB Reference Limits

Daniel Nylander edited this page Jul 13, 2026 · 1 revision

ReDMCSB Reference Limits for DM1 and CSB

ReDMCSB is Firestaff's primary behavioral reference for Dungeon Master and Chaos Strikes Back. It reconstructs engine control flow, data ownership, and many platform branches exceptionally well. It is nevertheless a reverse-engineered source tree, not FTL's original source or a complete oracle for every shipped PC release.

This page records the boundary. It does not attribute defects to ReDMCSB. Instead, it states when Firestaff must combine its source reading with hash-identified original media and observed runtime evidence.

Evidence Rule

Use ReDMCSB for source intent and control flow. Require independent evidence before claiming a PC34 binary, save, rendering, timing, or startup result:

(release/media hash, original bytes or capture, parser/route receipt,
 Firestaff packaged-runtime capture)

For CSBWin extensions, add the authenticated CSBWin save identity, timer queue slot, extension record, and selected CSBWin source action. A source-shaped fallback is not evidence and must not substitute generated graphics or guessed data.

Limits Shared by DM1 and CSB

Reconstructed source is not a shipped binary

Documentation/Readme.htm describes ReDMCSB as a reconstruction and notes that its available Megamax compiler/linker differs from FTL's unavailable toolchain. Source names and expressions therefore cannot alone establish a PC ABI, exact code layout, compiler evaluation order, checksum, or instruction timing. Verify those claims against the hash-identified original executable in an emulator or on original hardware.

Platform branches are not a universal host contract

The common source is primarily grounded in Atari ST reconstruction. The other platform section is incomplete. USIOSTUB.C, MEM1STUB.C, INT1STUB.C, and MUSCSTUB.C are vector-dispatch boundaries; VBLANK.C, GRAPH21.C, and low-level I/O contain media-conditioned behavior. These files establish that an original route exists. They do not prescribe SDL event ordering, host audio mixing, palette latch timing, or DOS disk behavior.

Assets need provenance, not only a decoder

MEMORY.C, graphics loaders, and render routines explain cache and blit control flow. They do not by themselves identify which byte range in a particular PC GRAPHICS.DAT is the correct title, entrance, HUD, inscription, or dungeon asset. Firestaff therefore requires the matching asset hash, offset/decode receipt, palette contract, and an original frame before making a visual claim.

Physical-media and protection paths need observed input

CopyProtection.htm, GRAPH21.C, and disk/I/O routes include fuzzy-sector and protection behavior. A filesystem, ZIP, or ISO cannot invent an authentic floppy signal or driver timing. Until a real media image and trace identify the result, Firestaff leaves that branch unavailable rather than synthesising a success or failure state.

Bug notes require an explicit host policy

Documentation/BugsAndChanges.htm records historical bugs and version changes. It does not decide whether a memory-corrupting or malformed-data path should be reproduced by a safe C11 host. Every such route needs a version-specific original reproduction and an explicit Firestaff policy: emulate, guard, or reject. Bounded rejection is preferable to guessed output.

DM1-Specific Limits

DM1 PC34 claims additionally need original evidence for:

  • CHAMPION.C compiler-sensitive stamina/load expressions;
  • dead champion bones and Thing allocation behavior;
  • PC34 save headers, checksums, backup/error handling, event queues, and dungeon-tail preservation;
  • Hall of Champions, resurrection, and rename graphics under PC memory pressure; and
  • title, FTL swoosh, entrance doors, palette, sound, and input cadence.

The repository tracks these boundaries as REDMCSB-DM1-GAP-001 through REDMCSB-DM1-GAP-014 in TODO.md.

CSB-Specific Limits

ReDMCSB covers original CSB behavior. It does not specify CSBWin additions. DSA, EXPOOL, GAMEBLOCK2, ITEM16, extended save tails, restored timer queues, type-47 selector tables, and custom-dungeon continuation must use CSBWin source plus authentic CSBWin save/dungeon evidence.

Original CSB still requires its own per-media evidence: PC, Atari ST, Amiga, PC-98, X68000, and FM-Towns branches cannot be inferred from each other. In particular, title/PRESENTS/CHAOS/STRIKES/entrance/HUD assets and frame cadence must come from the selected hash-identified release rather than a nearby ReDMCSB media branch.

The repository tracks these boundaries as REDMCSB-CSB-GAP-001 through REDMCSB-CSB-GAP-013 in TODO.md.

Related Pages

Clone this wiki locally