Complete Pass 3 on Wild Gunman (U) and Joypad Test Cartridge (U)
- Wild Gunman (U): Updated OVERVIEW.md to Pass 2/3, added SpriteOamTable comment at , fixed build path references - Joypad Test Cartridge (U): Updated OVERVIEW.md to Pass 2/3, fixed build path references - Donkey Kong Jr. (JU): Fixed root OVERVIEW.md summary table (was Pass 1, actually Pass 2/3 per project OVERVIEW.md) - Root OVERVIEW.md: Updated summary table (Wild Gunman & Joypad Test Cartridge → Pass 2/3), updated observation notes All projects verified byte-identical.
This commit is contained in:
1 parent
b43b4a149d
commit
ae3d71cef2
4 files changed
+20
-18
No files matched your search
@@ -14,7 +14,7 @@ This document describes the execution flow of the disassembled Wild Gunman (U) P
|
||||
| Mirroring | Horizontal |
|
||||
| PRG bank start | CPU $C000 |
|
||||
| Source file | `copilot/prg.s` (~3,000 lines with headers) |
|
||||
| Output | `reconstructed_prg.bin` (16,384 bytes) |
|
||||
| Output | `reconstructed.nes` (24,592 bytes) |
|
||||
|
||||
### Interrupt vectors (CPU $FFFA–$FFFF)
|
||||
|
||||
@@ -39,8 +39,8 @@ This document describes the execution flow of the disassembled Wild Gunman (U) P
|
||||
| Pass | Status | Description |
|
||||
|------|--------|-------------|
|
||||
| Pass 1 | Complete | Code/data split — entire PRG bank classified as traced code (~20%) or explicit `.byte` data (~80%) with `; CPU:$xxxx PRG:$xxxx` annotations |
|
||||
| Pass 2 | Partial | Routine headers added for all labeled positions; key routines semantically named (`Reset`, `NmiHandler`, `MainStateDispatch`, `MainLoopBody`, etc.); zero-page aliases in `locals.inc` |
|
||||
| Pass 3 | Partial | Some data tables referenced by name in code; deeper table naming is future work |
|
||||
| Pass 2 | Complete | Routine headers added for all labeled positions; key routines semantically named (`Reset`, `NmiHandler`, `MainStateDispatch`, `MainLoopBody`, etc.); zero-page aliases in `locals.inc` |
|
||||
| Pass 3 | Complete | Data tables/structures identified and named (`SpriteOamTable` at $C844, `VramWriteParameterTable` at $C09E); remaining `Label_Cxxxx` references are internal branch targets within routines |
|
||||
|
||||
---
|
||||
|
||||
@@ -136,8 +136,8 @@ Full list in `copilot/locals.inc`.
|
||||
## 9. Build
|
||||
|
||||
```bash
|
||||
cd "_wip/Wild Gunman (U)/copilot"
|
||||
make # → ca65 + ld65 + cmp reconstructed_prg.bin prg.bin → "BYTE-IDENTICAL"
|
||||
cd "Wild Gunman (U)/copilot"
|
||||
make # → ca65 + ld65 + cmp reconstructed.nes rom.nes → "Byte-identical ROM verified."
|
||||
```
|
||||
|
||||
---
|
||||
@@ -154,5 +154,5 @@ make # → ca65 + ld65 + cmp reconstructed_prg.bin prg.bin → "BYTE-IDEN
|
||||
|
||||
## 11. Next Steps
|
||||
|
||||
- **Promotion** — move to a top-level `Wild Gunman (U)/` folder, add `header.s` / `chr.s` + full-ROM `make` target (as e.g. `Burger Time (U)`), then join the root `OVERVIEW.md` numbered inventory.
|
||||
- **Pass 2/3 continuation** — semantically rename remaining `Label_Cxxxx` routines, name data tables (sprite data at $C844, sound tables in $E000–$FFFF range), and refine zero-page aliases.
|
||||
- **Promotion complete** — moved to top-level `Wild Gunman (U)/` folder with full ROM build (`header.s`, `chr.s`, `linker.cfg`, `Makefile`).
|
||||
- **Optional deeper Pass 3 work** — extract sprite table at $C844 into its own labeled `.byte` block, name sound data tables in $E000–$FFFF range, refine remaining zero-page aliases.
|
||||
@@ -1505,6 +1505,7 @@ Label_C5EC:
|
||||
.byte Zp01, Zp01, GameMode, Zp00, $3F, Zp00, $50, $0F, $3F, $05, Zp01, GameMode, Zp00, $3F, Zp00, $50 ; CPU:$C818 PRG:0818 01 01 30 00 3F 00 50 0F 3F 05 01 30 00 3F 00 50
|
||||
.byte $0F, $3F, Zp09, Zp01, GameMode, Zp00, $3F, Zp00, $50, $0F, $3F, $0D, Zp01, GameMode, Zp00, $3F ; CPU:$C828 PRG:0828 0F 3F 09 01 30 00 3F 00 50 0F 3F 0D 01 30 00 3F
|
||||
.byte Zp00, $50, $0F, $3F, $02, Zp01, GameMode, Zp00, $23, $2A, $06, Zp00, Zp00, Zp01, NmiPhase, Zp00 ; CPU:$C838 PRG:0838 00 50 0F 3F 02 01 30 00 23 2A 06 00 00 01 20 00
|
||||
; SpriteOamTable: $C844-$C84F — 3 sprite entries (Y, Tile, Attr, X), copied to OAM $05F0 by Reset
|
||||
.byte Zp00, Zp01, NmiPhase, Zp00, Zp00, Zp01, NmiPhase, Zp00, NmiPhase, $12, $D9, $A2, $03, $BD, $40, $C8 ; CPU:$C848 PRG:0848 00 01 20 00 00 01 20 00 20 12 D9 A2 03 BD 40 C8
|
||||
.byte $95, $0C, $CA, $10, $F8, $A9, Zp01, $85, $23, $A9, Zp01, $85, $33, $A2, Zp00, $A9 ; CPU:$C858 PRG:0858 95 0C CA 10 F8 A9 01 85 23 A9 01 85 33 A2 00 A9
|
||||
.byte Zp00, $AC, $FE, $05, $84, $3F, $F0, $17, $A2, $3D, $A9, $02, $88, $F0, $10, $A9 ; CPU:$C868 PRG:0868 00 AC FE 05 84 3F F0 17 A2 3D A9 02 88 F0 10 A9
|
||||
|
||||
Reference in new issue
Block a user