Skip to content

ReDMCSB Preservation Worklist

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

ReDMCSB Preservation Worklist

ReDMCSB is Firestaff's primary source-level reference for Dungeon Master and Chaos Strikes Back. It is a reconstruction, not FTL's archived build tree. This page lists the evidence still needed to make the reference itself more complete. An evidence gap is not automatically a defect.

What It Establishes

Subsystem Main files Useful anchors
Dungeon records and Thing lists DUNGEON.C, DEFS.H F0150-F0172, G0243
Viewport composition DUNVIEW.C F0093-F0128
Events, doors and time TIMELINE.C F0237-F0245
Motion and sensors MOVESENS.C, PROJEXPL.C F0213-F0225, F0262-F0276
Party and panels CHAMPION.C, PANEL.C, CHEST.C, MENU.C F0307-F0412
Startup and saves STARTUP*.C, ENTRANCE.C, LOADSAVE.C F0413-F0435, F0797-F0807

This establishes control flow and data ownership. It does not alone prove a DOS/Atari binary ABI, compiler evaluation order, exact timing, palette latch, or media error result.

Preservation Worklist

Original compiler and linker behaviour

The original Megamax toolchain, linker inputs, generated assembly and final segment layout are not part of the reconstruction. Preserve compiler-sensitive results using a five-part witness:

release executable hash, minimal source case, disassembly,
emulator trace and visible/state result

Historical BUG0_* notes need an explicit policy per release: reproduce, guard safely, or offer a compatibility mode. Do not silently repair one from its apparent C intent.

Graphics and palette contracts

DUNVIEW.C defines draw order but not every PC catalogue, compressed payload, palette write or hardware blit. A graphics corpus should contain full-file hashes, item offset/size/dimensions, indexed pixels, active palette, a named frame capture and the corresponding source call boundary. This is required for TITLE, PRESENTS, CHAOS/STRIKES, Entrance, inscriptions, mirrors, ornaments, doors and HUD surfaces.

Platform dispatch

USIOSTUB.C, MEM1STUB.C, INT1STUB.C, MUSCSTUB.C, VBLANK.C and GRAPH21.C show that platform hooks exist; they are not a portable host contract. Preserve VBL-indexed traces of input queue mutation, command dequeue, palette writes, audio requests and disk request/results. Do not infer these from a modern SDL event loop.

Save corpus

LOADSAVE.C needs real clean, backup, truncated, checksum-invalid and high-complexity saves. Preserve byte-exact input/output pairs with release, media and filename. Include full timer queues, inventories and cross-level Thing links. A decoded structure without writeback evidence is incomplete.

Symbol provenance

Names such as F, G, L, P, M and C are valuable but do not prove address, type, width or lifetime. A machine-readable map should record:

symbol, family, file/span, original address when known, width/signedness,
release applicability, confidence and evidence

Verification Ladder

  1. Identify the source owner and inputs.
  2. Decode the matching hash-identified original data.
  3. Capture or trace the original executable at that boundary.
  4. Record an implementation receipt with identities and output hash.
  5. Add negative tests for wrong version, malformed input and missing media.

Related Pages

Clone this wiki locally