Files
disasm/NES PowerPad Test Card (U)/copilot/locals.inc
T
tmerritt 3ef16a6f99 Promote NES PowerPad Test Card (U) from _wip to top-level project
Moves NES PowerPad Test Card (U) from _wip/ to NES PowerPad Test Card (U)/ with full ROM build:
- Adds header.s, chr.s, linker.cfg (HEADER+PRG+CHR segments)
- Updates Makefile to build and verify reconstructed.nes vs rom.nes
- Adds rom.nes copy + copilot/rom.nes symlink per repo convention
- Verified byte-identical build

Pass 1 complete: full code/data classification (~7.2% code / ~92.8% data)
Pass 2 complete: routine headers for all ~50 labels, semantic naming for key
routines (Reset, NmiHandler, VramWrite, ReadPad, ProcessPads, etc.),
zero-page aliases in locals.inc (Zp00-Zp15)
Pass 3 complete: data tables named (PaletteData at ,
PadBitTableLives at )

Root OVERVIEW.md updated:
- Removes NES PowerPad Test Card from _wip skeleton table (21 → 20 skeletons)
- Adds NES PowerPad Test Card as #15 in numbered inventory (BYTE-IDENTICAL, Pass 2/3)
- Updates summary count from 14 to 15 projects
2026-10-16 19:24:12 -04:00

25 lines
1.2 KiB
PHP

; NES PowerPad Test Card (U) zero-page aliases - Pass 2
; Semantic names for addresses with observed usage patterns.
Zp00 = $00 ; PPUCTRL shadow register
Zp01 = $01 ; PPUMASK shadow register
Zp02 = $02 ; VBlank flag (set by NMI, cleared by WaitForVBlank)
Zp03 = $03 ; Frame counter / NMI tick counter
Zp05 = $05 ; Score/digit temp
Zp06 = $06 ; Pad 1 state byte 1 (shifted pad data)
Zp07 = $07 ; Pad 1 state byte 2
Zp08 = $08 ; Pad 1 state byte 3
Zp09 = $09 ; Pad 1 state byte 4
Zp0A = $0A ; Pad 2 state byte 1
Zp0B = $0B ; Pad 2 state byte 2
Zp0C = $0C ; Pad temp / swap variable
Zp0D = $0D ; Pad mode / draw flag
Zp0E = $0E ; Shift counter / temp
Zp0F = $0F ; Delay counter
Zp10 = $10 ; VRAM pointer low byte (indirect)
Zp11 = $11 ; VRAM pointer high byte (indirect)
Zp12 = $12 ; Score digit 1 accumulator
Zp13 = $13 ; Score digit 2 accumulator
Zp14 = $14 ; Score digit 3 accumulator
Zp15 = $15 ; Score digit 4 accumulator