-
-
Notifications
You must be signed in to change notification settings - Fork 4
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.
| 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.
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.
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.
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.
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.
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
- Identify the source owner and inputs.
- Decode the matching hash-identified original data.
- Capture or trace the original executable at that boundary.
- Record an implementation receipt with identities and output hash.
- Add negative tests for wrong version, malformed input and missing media.