Promotes Lunar Pool
This commit is contained in:
1 parent
837007843d
commit
62866563ba
53 files changed
+115746
-4100
No files matched your search
@@ -1,6 +1,27 @@
|
||||
# Golf (JU) — Skeleton Project
|
||||
# Golf (JU)
|
||||
|
||||
ROM: `_wip/Golf (JU)/Golf (JU).nes` (24,592 bytes, iNES). Status: **SKELETON — not yet disassembled.** The entire 16 KB PRG bank is a single unclassified block; `copilot/prg.s` is the default-project skeleton (`default_project.tar.gz`) that reproduces it as one `.incbin`. The skeleton build is **byte-identical** at the PRG level.
|
||||
ROM: `_wip/Golf (JU)/Golf (JU).nes` (24,592 bytes, iNES). Status: **Pass 1 complete, Pass 2 substantial, Pass 3 started — PAUSED.** PRG build is **byte-identical**.
|
||||
|
||||
**Pass 1 (code/data split) — complete.** Reachable code traced from RESET ($C000) and NMI ($C0A6); all 4,063 reachable instructions are explicit source. NMI callbacks ($C5A0=`GameplayInputNmiCallback`, $C6C8, $CFAA, $DAA2; continuations $CFC3/$D03E/$D08A) and controller/attract paths ($DAA2, $C0C7=`InitializeRuntimeState`) are in source. All remaining `.incbin` spans have zero code entry points and are confirmed data.
|
||||
|
||||
**Pass 2 (label naming) — substantial.** Startup/NMI/PPU/controller/course-decode routines named (batches 1–3 per `PASS2_PLAN.md`). All 112 subroutine-entry `Label_` labels renamed to `SubC<addr>` (108) or semantic names (4: `WaitForFramePreservingY`, `SpriteOffsetForController`, `SetPpuScrollAndMask`, `MultiplyABy32`); 349 internal branch-target `Label_` labels remain intentionally.
|
||||
|
||||
**Pass 3 (data tables) — started, PAUSED.** Conversions completed:
|
||||
- Interrupt vectors at $FFFA–$FFFF → `.word NmiHandler`/`Reset`/`IrqLoop`
|
||||
- Course-stream split pointer table at $E6C3/$E6D5 (18 entries) → `CourseLayoutPointerLo`/`CourseLayoutPointerHi`
|
||||
- Bit-mask table $D6F4–$D6FB → `BitMaskTable` ($80 40 20 10 08 04 02 01)
|
||||
- PPU write table $FD0A–$FD11 → `PpuTableFd0a`
|
||||
- Score adjust table $D988–$D9B0 → `D988ScoreAdjustTable`
|
||||
- PPU value table $FF85–$FF9F → `FF85PpuValueTable`
|
||||
- Sprite/object tables (`sprite_object_tables.inc`) and gameplay PPU palette ($E1B8–$E1D7) already emitted as structured source.
|
||||
|
||||
**Paused:** Remaining `.incbin` spans are largely Iwata's compressed level data ($E6E7–$F905, ~4.6 KB) and opaque lookup tables ($C786–$C84C, $CD85–$CE63, $D304–$D3B6, $D563–$D659, $D823–$D8EC, $DC59–$DD77, $E1D8–$E281, $E3DE–$E3FB, $E588–$E6AF, $FBBF–$FC23). Without runtime tracing / a code/data log to confirm consumers and structure, converting these risks guessy rewrites. Per repo convention, they remain as `.incbin` with address comments.
|
||||
|
||||
Remaining `.incbin` spans ($C71E–$C720, $C786–$C84C, $CD85–$CE63, $D304–$D3B6, $D563–$D659, $D823–$D8EC, $DC59–$DD77, $E1D8–$E281, $E3DE–$E3FB, $E588–$E6AF, $E6E7–$F905, $FBBF–$FC23) remain as data per the no-guessy-rewrites convention; convert only when a consumer is identified.
|
||||
|
||||
**Next Pass 3 candidates:** when runtime tracing tools are available, remaining structured tables (course-stream data, opaque lookup spans) can be converted where structure is confirmed.
|
||||
|
||||
**Promotion:** not yet — `_wip` tier (PRG-only compare). Promotion requires full-ROM build (`header.s`/`chr.s` + vectors) and root inventory entry.
|
||||
|
||||
|
||||
## ROM Facts
|
||||
|
||||
Reference in new issue
Block a user