docs(dm2-graphics): resolve the console palette residue (#269) #272

Merged
jqueuniet merged 0 commits from refs/pull/272/head into main 2026-07-17 22:09:14 +02:00
jqueuniet commented 2026-07-17 22:03:55 +02:00 (Migrated from codeberg.org)

Characterises the four console-viewport palette residue items from #269. None wires into the extractor — two are runtime dynamic layers, one is already exposed, one is a prerequisite of the deferred cls3=0x0E LUT path. No fixture mis-renders because of any of them.

The two cls3=0x0E items were decoded statically on the Amiga SKUL.FTL CODE hunk (the cleanest single-module copy of the same C codebase; the Amiga↔Sega CD entry correspondence is established in palette-lut.md).

  • CRAM line-2 torch-glow — runtime dynamic sub-palette, isolated by the s2b/s2d captures (byte-identical line 1, different line 2). Out of the static render path.
  • Lighting stripe 0 — brightest stripe, already extractable via dm2 extract --light 0; unseen live only because DM2 has no day cycle. Already wired.
  • The -0x1aa4(a5) gate — the current-target actor slot index (Amiga -0x4d9e(a5), 0xFFFF = none), gating the LUT selector to actively-targeted objects.
  • The cls4 byte table — the entry-492 helper (Amiga 0x9632) resolves a resource in the active graphics generation, not a fixed record; the archive-base globals are that generation's directory.

Docs only (ROADMAP.md, docs/formats/palette-lut.md § "Residue resolved") — no code or CI surface touched.

Closes #269.

Characterises the four console-viewport palette residue items from #269. None wires into the extractor — two are runtime dynamic layers, one is already exposed, one is a prerequisite of the deferred `cls3=0x0E` LUT path. No fixture mis-renders because of any of them. The two `cls3=0x0E` items were decoded statically on the Amiga `SKUL.FTL` CODE hunk (the cleanest single-module copy of the same C codebase; the Amiga↔Sega CD entry correspondence is established in `palette-lut.md`). - **CRAM line-2 torch-glow** — runtime dynamic sub-palette, isolated by the `s2b`/`s2d` captures (byte-identical line 1, different line 2). Out of the static render path. - **Lighting stripe 0** — brightest stripe, already extractable via `dm2 extract --light 0`; unseen live only because DM2 has no day cycle. Already wired. - **The `-0x1aa4(a5)` gate** — the current-target actor slot index (Amiga `-0x4d9e(a5)`, `0xFFFF` = none), gating the LUT selector to actively-targeted objects. - **The cls4 byte table** — the entry-492 helper (Amiga `0x9632`) resolves a resource in the *active graphics generation*, not a fixed record; the archive-base globals are that generation's directory. Docs only (`ROADMAP.md`, `docs/formats/palette-lut.md` § "Residue resolved") — no code or CI surface touched. Closes #269.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jqueuniet/dm2-tools!272
No description provided.