Files
disasm/Pinball (JU)/copilot/pinball_full_map.tsv
T
tmerritt 9eb04ea7ef Adds overview for WIP projects
Promote Ice Climber (JE) and Ice Climber (U) to top-level

- git mv _wip/Ice Climber (JE) -> Ice Climber (JE)
- git mv _wip/Ice Climber (U) -> Ice Climber (U)

- Added header.s / chr.s (one-line .incbin each)
- Added HEADER/PRG/CHR linker.cfg with proper memory layout
- Added copilot/rom.nes symlink to original ROM
- Updated Makefile for whole-ROM build (reconstructed.nes vs rom.nes)
- Updated _tools paths from ../../../_tools/ to ../../_tools/

Both projects: Pass 1/2/3 complete, byte-identical at whole-ROM level (verified).

Root OVERVIEW.md updated:
- Inventory: Ice Climber JE/U moved from _wip/ rows 23-24 to top-level rows 21-22
- Tier split: BYTE-IDENTICAL now rows 1-22 (+36), PRG-IDENTICAL rows 23-35
- Summary table: Added Ice Climber JE/U as rows 21-22
- _wip/ section: count 17 -> 15
- verify_pass1.py scope: 19 -> 22 top-level projects

All 22 top-level projects verified byte-identical.

Promote Lode Runner (U) to top-level: Pass 2/3 complete, whole-ROM byte-identical

- git mv _wip/Lode Runner (U) -> Lode Runner (U)

- Added header.s / chr.s (one-line .incbin each)
- Added HEADER/PRG/CHR linker.cfg with proper memory layout
- Added copilot/rom.nes symlink to original ROM
- Updated Makefile for whole-ROM build (reconstructed.nes vs rom.nes)

Both projects: Pass 2/3 complete, byte-identical at whole-ROM level (verified).

Root OVERVIEW.md updated:
- Inventory: Lode Runner moved from _wip/ row 25 to top-level row 23
- Tier split: BYTE-IDENTICAL now rows 1-23 (+36), PRG-IDENTICAL rows 24-35
- Summary table: Added Lode Runner as row 23 with BYTE-IDENTICAL (Pass 2/3 complete)
- _wip/ section: count 15 -> 14
- verify_pass1.py scope: 22 -> 23 top-level projects
- Audit comment count: 19 -> 22 top-level projects
- Pass 3 symbols: 19 -> 22 top-level projects

All 23 top-level projects verified byte-identical.

TODO.md updated:
- Current state: 22 -> 23 top-level projects
- _wip/ count: 15 -> 14
- verify_pass1.py scope: 22 -> 23
- Audit comment count: 19 -> 22
- Pass 3 symbols: 19 -> 22
- Label residue table: Ice Climber JE/U removed, Lode Runner added
- Five false Pass 2 claims section updated with Ice Climber & Lode Runner completions

Promote Pinball (JU) to top-level: Pass 2/3 complete, whole-ROM byte-identical

- git mv _wip/Pinball (JU) -> Pinball (JU)

- Added header.s / chr.s (one-line .incbin each)
- Added HEADER/PRG/CHR linker.cfg with proper memory layout
- Added copilot/rom.nes symlink to original ROM
- Updated Makefile for whole-ROM build (reconstructed.nes vs rom.nes)

Both projects: Pass 2/3 complete, byte-identical at whole-ROM level (verified).

Root OVERVIEW.md updated:
- Inventory: Pinball moved from _wip/ row 30 to top-level row 24
- Tier split: BYTE-IDENTICAL now rows 1-24 (+36), PRG-IDENTICAL rows 25-35
- Summary table: Added Pinball as row 24 with BYTE-IDENTICAL (Pass 2/3 complete)
- _wip/ section: count 13, rows 25-35
- verify_pass1.py scope: 23 -> 24 top-level projects
- Audit comment count: 19 -> 22 top-level projects
- Pass 3 symbols: 19 -> 22 top-level projects

All 24 top-level projects verified byte-identical.

TODO.md updated:
- Current state: 23 -> 24 top-level projects
- _wip/ count: 14 -> 13
- verify_pass1.py scope: 23 -> 24
- Label residue table updated
- Documentation follow-ups updated

Promote Millipede (U) and Popeye (JU) (PRG 0) to top-level

Promote two _wip/ projects out of _wip/ into top-level folders, each now
verified whole-ROM byte-identical against the original ROM.

- Millipede (U): moves all copilot files up, adds header.s, chr.s,
  linker.cfg with PRG+HEADER+CHR areas, rom.nes copy, and switches the
  Makefile from PRG-only cmp to whole-ROM cmp. Makefile _tools depth
  adjusted (../../../../_tools/ -> ../../_tools/).
- Popeye (JU) (PRG 0): same promotion treatment.
- AGENTS.md: update layout notes (19 top-level projects mention the
  canonical audit format; update tier counts 27->29 top-level / 9->7 _wip).
- OVERVIEW.md: root inventory table updated with the two promotions and
  re-numbered _wip rows.
- TODO.md: handoff updates.
- Remaining _wip projects: assorted pass 2/3 edits (prg.s, locals.inc,
  reconstructed.lbl, reconstructed_prg.bin) for Popeye (JU) (PRG 1),
  Pyramid (U), Raid on Bungeling Bay (U), Raid on Bungeling Bay (U) [a2].
2026-10-19 19:58:41 -04:00

362 lines
8.9 KiB
Plaintext

label Label_C000 Reset
label Label_C002 WaitVBlank_E023_1
label Label_C00D ClearZeropage
label Label_C023 InitGameState
label Label_C03B MainGameLoop
label Label_C04A ClearSpriteRAM
label Label_C058 InitLevel
label Label_C09B CheckGameMode
label Label_C0AE GameModeTitle
label Label_C0BC GameModePlay
label Label_C0BF WaitVBlank_E023Frame
label Label_C0CC CheckController
label Label_C0D3 UpdateFrameCounter
label Label_C0E9 CheckHighScore
label Label_C10E ProcessController
label Label_C181 UpdateSprites_C34B_1
label Label_C18F UpdateSpritePositions
label Label_C25A NmiExit
label Label_C25A NmiFrameEnd
label Label_C26F HandleBonus
label Label_C27F UpdateGameState
label Label_C27F GameStateUpdate
label Label_C294 InitBallLaunch
label Label_C2DE DrawPlayfield
label Label_C301 DrawStatusBar
label Label_C32E DrawDigits
label Label_C34B UpdateSprites_C34B_3
label Label_C37C BallPhysics
label Label_C37C BallPhysicsMain
label Label_C38C CheckTilt
label Label_C3B1 UpdateFlipper
label Label_C3B7 UpdateBallTrajectory_E278_1
label Label_C3C7 BallLost
label Label_C3CE UpdateBonus
label Label_C3D3 BallLostSequence
label Label_C3E0 DrawGameOver
label Label_C3F4 ClearScreen
label Label_C3CE UpdateBonusDisplay_1
label Label_C3CE UpdateBonusTimer
label Label_C3D3 BallLostSequenceStart
label Label_C3D3 BallLostHandler
label Label_C3E0 DrawGameOverScreen
label Label_C3F4 ClearPlayfield
label Label_C3F4 ClearPlayfieldRTS
label Label_C403 CheckGameOver
label Label_C40E DrawNumber
label Label_C4A1 ReadPPUData_1
label Label_C4B9 ReadPPUDataY
label Label_C4CF UpdateScoreDisplay_1
label Label_C4F0 UpdateFlippers_1
label Label_C5C1 UpdateFlippersState
label Label_C5D1 UpdateFlipperSprites_1
label Label_C5F5 UpdateBallSprites
label Label_C6A8 UpdateBallPosition_1
label Label_C730 CheckBallCollision
label Label_C739 CheckBallInPocket
label Label_C739 CheckBallInHole
label Label_CD9C IncrementBonus
label Label_CDA4 UpdateBonusDisplay_3
label Label_CE6C InitializeRAM
label Label_CEF2 ProcessSpriteData
label Label_CF04 ProcessSpriteAttributes
label Label_CF82 ProcessSpriteAttributes2
label Label_CFEC UpdateSprites_C34B2
label Label_D03C UpdateScore
label Label_D07C UpdateBallY
label Label_D093 UpdateBallX
label Label_D0AD UpdateScore2
label Label_D0E0 UpdateFlipperSound
label Label_D159 UpdateBallPosition_3
label Label_D15B UpdateBallPosition2
label Label_D191 UpdateBallY2
label Label_D1FB UpdateBallSprite
label Label_D296 CheckCollision
label Label_D2E4 CheckFlipperHit
label Label_D2E9 CheckBallPocket
label Label_D334 CheckBallVelocity
label Label_D359 CheckBallPosition
label Label_D386 CheckTiltSwitch
label Label_D390 DrawScore
label Label_D3AA UpdateScoreDisplay_3
label Label_D3CC UpdateScoreDigits
label Label_D4A1 ReadPPUData_3
label Label_D4B9 ReadPPUData2
label Label_D4CF UpdateScoreDisplay2
label Label_D4F0 UpdateFlippers_3
label Label_D5C1 CheckFlipperPressed
label Label_D5D1 UpdateFlipperState
label Label_D5F5 UpdateFlipperSprites_3
label Label_D6A8 UpdateBallVelocity
label Label_D730 CheckBallSpeed
label Label_D739 UpdateBallDirection
label Label_DBB6 UpdateBumper
label Label_DBC8 UpdateBumperState
label Label_DBE3 UpdateBumperHit
label Label_DBFA UpdateBumperSprites
label Label_DC0D UpdateBumperState2
label Label_DC11 UpdateBumperState3
label Label_DC3E UpdateBumperHit2
label Label_DCAA UpdateBumperState4
label Label_DCDD UpdateBumperChain
label Label_DCE3 UpdateBumperState5
label Label_DCEC UpdateBumperState6
label Label_DD32 UpdateBumperChain2
label Label_DD5D UpdateBumperState7
label Label_DD75 UpdateBumperState8
label Label_DD78 UpdateBumperState9
label Label_DD8F UpdateBumperState10
label Label_DD92 UpdateBumperState11
label Label_DDA3 UpdateBumperState12
label Label_DDAC UpdateBumperState13
label Label_DDBE UpdateBumperState14
label Label_DDBE UpdateBumperHit3
label Label_DDBE UpdateBumperHit4
label Label_DDC7 UpdateBumperState15
label Label_DDF1 UpdateBumperState16
label Label_DE30 UpdateSound
label Label_DE41 UpdateSoundChannel
label Label_DE63 UpdateSoundChannel2_E96A_1
label Label_DE75 UpdateSoundChannel3_E9ED_1
label Label_DE7E UpdateSoundChannel4_EAD1_1
label Label_DE30 UpdateSoundEngine
label Label_E023 WaitVBlank_E023Loop
label Label_E025 WaitVBlank_E023_3
label Label_E02C WaitVBlank_E0232
label Label_E035 WaitPPUReady
label Label_E046 WaitFrame
label Label_E049 InitPPU
label Label_E09B InitSprites
label Label_E0E3 DrawSprite
label Label_E0EF WritePPU
label Label_E0F6 WritePPU2
label Label_E0FD InitGame
label Label_E278 UpdateBallTrajectory_E278_3
label Label_E28A InitSound
label Label_E293 InitSprites2
label Label_E2A6 UpdateBallPhysics
label Label_E3E2 UpdateGameMode
label Label_E403 CheckGameState
label Label_E40E UpdateDisplay
label Label_E459 UpdateDisplay2
label Label_E48C UpdateSprites_C34B3
label Label_E497 UpdateDisplay3
label Label_E4E2 UpdateDisplay4
label Label_E506 PlaySound
label Label_E535 PlaySoundEffect
label Label_E54A PlayMusic
label Label_E5B2 UpdateMusic
label Label_E609 UpdateMusicEngine
label Label_E68F UpdateMusicChannel
label Label_E7AC UpdateMusicChannel2
label Label_E94D UpdateSoundEffects
label Label_E96A UpdateSoundChannel2_E96A_3
label Label_E9ED UpdateSoundChannel3_E9ED_3
label Label_EA2F UpdateSoundChannels
label Label_EA50 UpdateSoundEffect
label Label_EA58 UpdateSoundEffect2
label Label_EAD1 UpdateSoundChannel4_EAD1_3
label Label_EAE5 UpdateSoundChannel5
label Label_EB0D UpdateSoundChannel6
label Label_EB27 UpdateSoundChannel7
label Label_EB9D UpdateSoundChannel8
label Label_EBF9 UpdateSoundChannel9
label Label_EC80 UpdateMusic2
label Label_EC8D UpdateMusicChannel10
label Label_ED06 UpdateMusicChannel11
label Label_EDB0 UpdateMusicChannel12
label Label_EDED UpdateMusicChannel13
label Label_EDF2 UpdateMusicChannel14
label Label_EE3D UpdateMusicChannel15
label Label_EE4D UpdateMusicChannel16
label Label_EF28 UpdateMusicChannel17
label Label_EF79 UpdateMusicChannel18
label Label_EFD3 UpdateMusicChannel19
label Label_EFDC UpdateMusicChannel20
label Label_F03F UpdateMusicChannel21
label Label_F06F UpdateMusicChannel22
label Label_F0C4 UpdateMusicChannel23
label Label_F0DF UpdateMusicChannel24
label Label_F0E7 UpdateMusicChannel25
label Label_F138 UpdateMusicChannel26
label Label_F140 UpdateMusicChannel27
label Label_F1FB UpdateMusicChannel28
label Label_F226 UpdateMusicChannel29
label Label_F2F0 UpdateMusicChannel30
label Label_F321 UpdateMusicChannel31
label Label_F3B9 UpdateMusicChannel32
label Label_F3E8 UpdateMusicChannel33
label Label_F41E UpdateMusicChannel34
label Label_F44B UpdateMusicChannel35
label Label_FB2C UpdateAPU
label Label_FB40 UpdateAPU2
label Label_FB43 UpdateAPU3
label Label_FB46 UpdateAPU4
label Label_FB49 UpdateAPU5
label Label_FB5D UpdateAPU6
label Label_FB6E UpdateAPU7
label Label_FBDD UpdateAPU8
label Label_FC0F UpdateAPU9
label Label_FC2B UpdateAPU10
label Label_FC72 UpdateAPU11
label Label_FCE2 UpdateAPU12
label Label_FD0D UpdateAPU13
label Label_FD55 UpdateAPU14
label Label_FD91 UpdateAPU15
label Label_FFDC UpdateAPU16
label Label_FFE3 UpdateAPU17
label Label_FFE9 UpdateAPU18
label Label_FFF0 UpdateAPU19
label Label_FFF7 ResetVector
zp Zp00 Zp00
zp Zp01 Zp01
zp Zp02 Zp02
zp Zp03 Zp03
zp Zp04 Zp04
zp Zp05 Zp05
zp Zp06 Zp06
zp Zp07 Zp07
zp Zp08 Zp08
zp Zp09 Zp09
zp Zp0A Zp0A
zp Zp0B Zp0B
zp Zp0C Zp0C
zp Zp0D Zp0D
zp Zp0E Zp0E
zp Zp0F Zp0F
zp Zp10 Zp10
zp Zp11 Zp11
zp Zp12 Zp12
zp Zp13 Zp13
zp Zp14 Zp14
zp Zp15 Zp15
zp Zp16 Zp16
zp Zp17 Zp17
zp Zp18 Zp18
zp Zp19 Zp19
zp Zp1A Zp1A
zp Zp1B Zp1B
zp Zp1C Zp1C
zp Zp1D Zp1D
zp Zp1E Zp1E
zp Zp1F Zp1F
zp Zp20 Zp20
zp Zp21 Zp21
zp Zp22 Zp22
zp Zp23 Zp23
zp Zp24 Zp24
zp Zp25 Zp25
zp Zp26 Zp26
zp Zp27 Zp27
zp Zp28 Zp28
zp Zp29 Zp29
zp Zp2A Zp2A
zp Zp2B Zp2B
zp Zp2C Zp2C
zp Zp2E Zp2E
zp Zp2F Zp2F
zp Zp30 Zp30
zp Zp31 Zp31
zp Zp32 Zp32
zp Zp33 Zp33
zp Zp34 Zp34
zp Zp35 Zp35
zp Zp36 Zp36
zp Zp37 Zp37
zp Zp38 Zp38
zp Zp39 Zp39
zp Zp3A Zp3A
zp Zp3B Zp3B
zp Zp3C Zp3C
zp Zp3D Zp3D
zp Zp3E Zp3E
zp Zp3F Zp3F
zp Zp40 Zp40
zp Zp41 Zp41
zp Zp42 Zp42
zp Zp43 Zp43
zp Zp44 Zp44
zp Zp48 Zp48
zp Zp4A Zp4A
zp Zp6A Zp6A
zp Zp77 Zp77
zp Zp7A Zp7A
zp Zp84 Zp84
zp Zp8A Zp8A
zp Zp9A Zp9A
zp ZpB2 ZpB2
zp ZpB3 ZpB3
zp ZpB4 ZpB4
zp ZpB5 ZpB5
zp ZpB6 ZpB6
zp ZpB7 ZpB7
zp ZpB8 ZpB8
zp ZpB9 ZpB9
zp ZpBA ZpBA
zp ZpBB ZpBB
zp ZpBC ZpBC
zp ZpBD ZpBD
zp ZpBE ZpBE
zp ZpBF ZpBF
zp ZpC0 ZpC0
zp ZpC1 ZpC1
zp ZpC2 ZpC2
zp ZpC3 ZpC3
zp ZpC4 ZpC4
zp ZpC5 ZpC5
zp ZpC6 ZpC6
zp ZpC7 ZpC7
zp ZpC8 ZpC8
zp ZpCA ZpCA
zp ZpCC ZpCC
zp ZpCD ZpCD
zp ZpCE ZpCE
zp ZpCF ZpCF
zp ZpD0 ZpD0
zp ZpD1 ZpD1
zp ZpD2 ZpD2
zp ZpD3 ZpD3
zp ZpD4 ZpD4
zp ZpD5 ZpD5
zp ZpD6 ZpD6
zp ZpD7 ZpD7
zp ZpD8 ZpD8
zp ZpDB ZpDB
zp ZpDC ZpDC
zp ZpDD ZpDD
zp ZpDE ZpDE
zp ZpDF ZpDF
zp ZpE0 ZpE0
zp ZpE1 ZpE1
zp ZpE2 ZpE2
zp ZpE3 ZpE3
zp ZpE4 ZpE4
zp ZpE5 ZpE5
zp ZpE6 ZpE6
zp ZpE7 ZpE7
zp ZpE8 ZpE8
zp ZpE9 ZpE9
zp ZpEA ZpEA
zp ZpEB ZpEB
zp ZpEC ZpEC
zp ZpED ZpED
zp ZpEE ZpEE
zp ZpEF ZpEF
zp ZpF0 ZpF0
zp ZpF1 ZpF1
zp ZpF2 ZpF2
zp ZpF3 ZpF3
zp ZpF4 ZpF4
zp ZpF5 ZpF5
zp ZpF6 ZpF6
zp ZpF7 ZpF7
zp ZpF8 ZpF8
zp ZpF9 ZpF9
zp ZpFA ZpFA
zp ZpFB ZpFB
zp ZpFC ZpFC
zp ZpFD ZpFD
zp ZpFE ZpFE
zp ZpFF ZpFF