-
-
Notifications
You must be signed in to change notification settings - Fork 4
ReDMCSB Reference Limits
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.
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.
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.
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.
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.
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.
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 PC34 claims additionally need original evidence for:
-
CHAMPION.Ccompiler-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.
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.