Files
disasm/NES PowerPad Test Card (U)/copilot/reconstructed.lbl
T
tmerritt 4c644d2a20 Pass 3 for NES PowerPad Test Card (U): name all data tables and VramWrite streams
- Decoded the VramWrite ($E1CC) stream format: <addr hi> <addr lo> <count> <bytes>, $00 terminator
- Named all 9 payload streams ($E4CC-$E7C2, no gaps/overlaps) plus VramWriteSourcePointerTable at $F000
- Split PadBitTableLives into Player1TileTable ($E4B4) and Player2TileTable ($E4C0), 12 entries each (Y=0..11)
- Decoded CHR font (digits $30-$39, letters $3A-$52, space $5F; 'W' missing from the A-Z run)
  and recovered on-screen text including 'PRESS A TO TEST SIDE-A' / 'SIDE-B'
- Documented that the 16 KiB PRG is two byte-identical 8 KiB halves; $C000 copy is dead
- Documented 7 unreached subroutines inside the live code region (kept as .byte per Pass-1 policy)
- Fixed a stray duplicate sentence and stale _wip paths in root OVERVIEW.md

Byte-identical ROM verified.
2026-10-16 20:24:23 -04:00

107 lines
2.5 KiB
Plaintext

al 00F000 .VramWriteSourcePointerTable
al 00E790 .SideATestPromptText
al 00E732 .StatusMessageText
al 00E6BF .SideAPanelButtonRow
al 00E64C .SideAPressedButtonRow
al 00E5B3 .PanelFrameTiles
al 00E58A .PowerPadButtonLabelTiles
al 00E54F .PowerPadSideAButtonGraphics
al 00E548 .Label_E548
al 00E53A .ClearScreen
al 00E534 .ClearAPUNoise
al 00E52E .SetAPUNoise
al 00E522 .Label_E522
al 00E514 .Label_E514
al 00E52D .ProcessPadBitsDone
al 00E509 .Label_E509
al 00E4FA .ProcessPadBits
al 00E4E3 .Player2ButtonIconStream
al 00E4CC .Player1ButtonIconStream
al 00E4C0 .Player2TileTable
al 00E4B4 .Player1TileTable
al 00E4B4 .PadBitTableLives
al 00E4AA .LoadPatternTable7
al 00E4A0 .LoadPatternTable6
al 00E49F .UpdatePadsDone
al 00E48F .Label_E48F
al 00E47F .UpdatePads
al 00E47A .Label_E47A
al 00E471 .Label_E471
al 00E46F .ShiftVar4
al 00E46A .Label_E46A
al 00E45F .Label_E45F
al 00E459 .ShiftVar3
al 00E454 .Label_E454
al 00E44B .Label_E44B
al 00E449 .ShiftVar2
al 00E444 .Label_E444
al 00E439 .Label_E439
al 00E433 .ShiftVar1
al 00E424 .Label_E424
al 00E42F .Label_E42F
al 00E41E .Label_E41E
al 00E407 .DrawLives
al 00E3F8 .Label_E3F8
al 00E403 .Label_E403
al 00E3F5 .Label_E3F5
al 00E3E1 .DrawScore
al 00E3D8 .Label_E3D8
al 00E3D1 .Label_E3D1
al 00E3C3 .Label_E3C3
al 00E3B5 .Label_E3B5
al 00E3AE .Label_E3AE
al 00E3A0 .Label_E3A0
al 00E398 .ProcessPads
al 00E37F .Label_E37F
al 00E362 .ShiftPads
al 00E35B .Label_E35B
al 00E34D .Label_E34D
al 00E361 .ReadPadDone
al 00E338 .ReadPad
al 00E32D .ClearGameVars
al 00E326 .Label_E326
al 00E312 .Label_E312
al 00E2FE .Label_E2FE
al 00E2F0 .ClearRows
al 00E2B0 .DrawPlayer2Pad
al 00E270 .DrawPlayer1Pad
al 00E236 .InitRoundParams
al 00E22D .ResetScroll
al 00E219 .SetPPUCTRL_NMI
al 00E1FB .DisableNMI
al 00E1F1 .EnableNMI
al 00E1E3 .Label_E1E3
al 00E1F0 .VramWriteDone
al 00E1D2 .Label_E1D2
al 00E1CC .VramWrite
al 00E1C2 .LoadPatternTable5
al 00E1B8 .LoadPatternTable4
al 00E1AE .LoadPatternTable3
al 00E1A4 .LoadPatternTable2
al 00E19A .LoadPatternTable1
al 00E187 .ClearVRAM_FillFF
al 00E16B .InitAPU
al 00E164 .Label_E164
al 00E150 .Label_E150
al 00E142 .ClearVRAM_Fill23
al 00E141 .ClearPaletteDone
al 00E121 .PaletteData
al 00E113 .Label_E113
al 00E107 .LoadPalette
al 00E0FB .Label_E0FB
al 00E0EB .ClearVRAM
al 00E0DD .Label_E0DD
al 00E0CF .Label_E0CF
al 00E0C9 .ClearRAM
al 00E0B5 .Label_E0B5
al 00E0B0 .Label_E0B0
al 00E09B .ResetInit
al 00E092 .WaitForVBlank
al 00E06E .NmiHandler
al 00E068 .Label_E068
al 00E058 .Label_E058
al 00E02F .Label_E02F
al 00E02B .Label_E02B
al 00E01E .Label_E01E
al 00E000 .Reset