Files
disasm/Pinball (JU)/copilot/pinball_label_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

6.9 KiB

1labelLabel_C000Reset
2labelLabel_C002WaitVBlank_E023_1
3labelLabel_C00DClearZeropage
4labelLabel_C023InitGameState
5labelLabel_C03BMainGameLoop
6labelLabel_C04AClearSpriteRAM
7labelLabel_C058InitLevel
8labelLabel_C09BCheckGameMode
9labelLabel_C0AEGameModeTitle
10labelLabel_C0BCGameModePlay
11labelLabel_C0BFWaitVBlank_E023Frame
12labelLabel_C0CCCheckController
13labelLabel_C0D3UpdateFrameCounter
14labelLabel_C0E9CheckHighScore
15labelLabel_C10EProcessController
16labelLabel_C181UpdateSprites_C34B_1
17labelLabel_C18FUpdateSpritePositions
18labelLabel_C25ANmiExit
19labelLabel_C25ANmiFrameEnd
20labelLabel_C26FHandleBonus
21labelLabel_C27FUpdateGameState
22labelLabel_C27FGameStateUpdate
23labelLabel_C294InitBallLaunch
24labelLabel_C2DEDrawPlayfield
25labelLabel_C301DrawStatusBar
26labelLabel_C32EDrawDigits
27labelLabel_C34BUpdateSprites_C34B_3
28labelLabel_C37CBallPhysics
29labelLabel_C37CBallPhysicsMain
30labelLabel_C38CCheckTilt
31labelLabel_C3B1UpdateFlipper
32labelLabel_C3B7UpdateBallTrajectory_E278_1
33labelLabel_C3C7BallLost
34labelLabel_C3CEUpdateBonus
35labelLabel_C3D3BallLostSequence
36labelLabel_C3E0DrawGameOver
37labelLabel_C3F4ClearScreen
38labelLabel_C3CEUpdateBonusDisplay_1
39labelLabel_C3CEUpdateBonusTimer
40labelLabel_C3D3BallLostSequenceStart
41labelLabel_C3D3BallLostHandler
42labelLabel_C3E0DrawGameOverScreen
43labelLabel_C3F4ClearPlayfield
44labelLabel_C3F4ClearPlayfieldRTS
45labelLabel_C403CheckGameOver
46labelLabel_C40EDrawNumber
47labelLabel_C4A1ReadPPUData_1
48labelLabel_C4B9ReadPPUDataY
49labelLabel_C4CFUpdateScoreDisplay_1
50labelLabel_C4F0UpdateFlippers_1
51labelLabel_C5C1UpdateFlippersState
52labelLabel_C5D1UpdateFlipperSprites_1
53labelLabel_C5F5UpdateBallSprites
54labelLabel_C6A8UpdateBallPosition_1
55labelLabel_C730CheckBallCollision
56labelLabel_C739CheckBallInPocket
57labelLabel_C739CheckBallInHole
58labelLabel_CD9CIncrementBonus
59labelLabel_CDA4UpdateBonusDisplay_3
60labelLabel_CE6CInitializeRAM
61labelLabel_CEF2ProcessSpriteData
62labelLabel_CF04ProcessSpriteAttributes
63labelLabel_CF82ProcessSpriteAttributes2
64labelLabel_CFECUpdateSprites_C34B2
65labelLabel_D03CUpdateScore
66labelLabel_D07CUpdateBallY
67labelLabel_D093UpdateBallX
68labelLabel_D0ADUpdateScore2
69labelLabel_D0E0UpdateFlipperSound
70labelLabel_D159UpdateBallPosition_3
71labelLabel_D15BUpdateBallPosition2
72labelLabel_D191UpdateBallY2
73labelLabel_D1FBUpdateBallSprite
74labelLabel_D296CheckCollision
75labelLabel_D2E4CheckFlipperHit
76labelLabel_D2E9CheckBallPocket
77labelLabel_D334CheckBallVelocity
78labelLabel_D359CheckBallPosition
79labelLabel_D386CheckTiltSwitch
80labelLabel_D390DrawScore
81labelLabel_D3AAUpdateScoreDisplay_3
82labelLabel_D3CCUpdateScoreDigits
83labelLabel_D4A1ReadPPUData_3
84labelLabel_D4B9ReadPPUData2
85labelLabel_D4CFUpdateScoreDisplay2
86labelLabel_D4F0UpdateFlippers_3
87labelLabel_D5C1CheckFlipperPressed
88labelLabel_D5D1UpdateFlipperState
89labelLabel_D5F5UpdateFlipperSprites_3
90labelLabel_D6A8UpdateBallVelocity
91labelLabel_D730CheckBallSpeed
92labelLabel_D739UpdateBallDirection
93labelLabel_DBB6UpdateBumper
94labelLabel_DBC8UpdateBumperState
95labelLabel_DBE3UpdateBumperHit
96labelLabel_DBFAUpdateBumperSprites
97labelLabel_DC0DUpdateBumperState2
98labelLabel_DC11UpdateBumperState3
99labelLabel_DC3EUpdateBumperHit2
100labelLabel_DCAAUpdateBumperState4
101labelLabel_DCDDUpdateBumperChain
102labelLabel_DCE3UpdateBumperState5
103labelLabel_DCECUpdateBumperState6
104labelLabel_DD32UpdateBumperChain2
105labelLabel_DD5DUpdateBumperState7
106labelLabel_DD75UpdateBumperState8
107labelLabel_DD78UpdateBumperState9
108labelLabel_DD8FUpdateBumperState10
109labelLabel_DD92UpdateBumperState11
110labelLabel_DDA3UpdateBumperState12
111labelLabel_DDACUpdateBumperState13
112labelLabel_DDBEUpdateBumperState14
113labelLabel_DDBEUpdateBumperHit3
114labelLabel_DDBEUpdateBumperHit4
115labelLabel_DDC7UpdateBumperState15
116labelLabel_DDF1UpdateBumperState16
117labelLabel_DE30UpdateSound
118labelLabel_DE41UpdateSoundChannel
119labelLabel_DE63UpdateSoundChannel2_E96A_1
120labelLabel_DE75UpdateSoundChannel3_E9ED_1
121labelLabel_DE7EUpdateSoundChannel4_EAD1_1
122labelLabel_DE30UpdateSoundEngine
123labelLabel_E023WaitVBlank_E023Loop
124labelLabel_E025WaitVBlank_E023_3
125labelLabel_E02CWaitVBlank_E0232
126labelLabel_E035WaitPPUReady
127labelLabel_E046WaitFrame
128labelLabel_E049InitPPU
129labelLabel_E09BInitSprites
130labelLabel_E0E3DrawSprite
131labelLabel_E0EFWritePPU
132labelLabel_E0F6WritePPU2
133labelLabel_E0FDInitGame
134labelLabel_E278UpdateBallTrajectory_E278_3
135labelLabel_E28AInitSound
136labelLabel_E293InitSprites2
137labelLabel_E2A6UpdateBallPhysics
138labelLabel_E3E2UpdateGameMode
139labelLabel_E403CheckGameState
140labelLabel_E40EUpdateDisplay
141labelLabel_E459UpdateDisplay2
142labelLabel_E48CUpdateSprites_C34B3
143labelLabel_E497UpdateDisplay3
144labelLabel_E4E2UpdateDisplay4
145labelLabel_E506PlaySound
146labelLabel_E535PlaySoundEffect
147labelLabel_E54APlayMusic
148labelLabel_E5B2UpdateMusic
149labelLabel_E609UpdateMusicEngine
150labelLabel_E68FUpdateMusicChannel
151labelLabel_E7ACUpdateMusicChannel2
152labelLabel_E94DUpdateSoundEffects
153labelLabel_E96AUpdateSoundChannel2_E96A_3
154labelLabel_E9EDUpdateSoundChannel3_E9ED_3
155labelLabel_EA2FUpdateSoundChannels
156labelLabel_EA50UpdateSoundEffect
157labelLabel_EA58UpdateSoundEffect2
158labelLabel_EAD1UpdateSoundChannel4_EAD1_3
159labelLabel_EAE5UpdateSoundChannel5
160labelLabel_EB0DUpdateSoundChannel6
161labelLabel_EB27UpdateSoundChannel7
162labelLabel_EB9DUpdateSoundChannel8
163labelLabel_EBF9UpdateSoundChannel9
164labelLabel_EC80UpdateMusic2
165labelLabel_EC8DUpdateMusicChannel10
166labelLabel_ED06UpdateMusicChannel11
167labelLabel_EDB0UpdateMusicChannel12
168labelLabel_EDEDUpdateMusicChannel13
169labelLabel_EDF2UpdateMusicChannel14
170labelLabel_EE3DUpdateMusicChannel15
171labelLabel_EE4DUpdateMusicChannel16
172labelLabel_EF28UpdateMusicChannel17
173labelLabel_EF79UpdateMusicChannel18
174labelLabel_EFD3UpdateMusicChannel19
175labelLabel_EFDCUpdateMusicChannel20
176labelLabel_F03FUpdateMusicChannel21
177labelLabel_F06FUpdateMusicChannel22
178labelLabel_F0C4UpdateMusicChannel23
179labelLabel_F0DFUpdateMusicChannel24
180labelLabel_F0E7UpdateMusicChannel25
181labelLabel_F138UpdateMusicChannel26
182labelLabel_F140UpdateMusicChannel27
183labelLabel_F1FBUpdateMusicChannel28
184labelLabel_F226UpdateMusicChannel29
185labelLabel_F2F0UpdateMusicChannel30
186labelLabel_F321UpdateMusicChannel31
187labelLabel_F3B9UpdateMusicChannel32
188labelLabel_F3E8UpdateMusicChannel33
189labelLabel_F41EUpdateMusicChannel34
190labelLabel_F44BUpdateMusicChannel35
191labelLabel_FB2CUpdateAPU
192labelLabel_FB40UpdateAPU2
193labelLabel_FB43UpdateAPU3
194labelLabel_FB46UpdateAPU4
195labelLabel_FB49UpdateAPU5
196labelLabel_FB5DUpdateAPU6
197labelLabel_FB6EUpdateAPU7
198labelLabel_FBDDUpdateAPU8
199labelLabel_FC0FUpdateAPU9
200labelLabel_FC2BUpdateAPU10
201labelLabel_FC72UpdateAPU11
202labelLabel_FCE2UpdateAPU12
203labelLabel_FD0DUpdateAPU13
204labelLabel_FD55UpdateAPU14
205labelLabel_FD91UpdateAPU15
206labelLabel_FFDCUpdateAPU16
207labelLabel_FFE3UpdateAPU17
208labelLabel_FFE9UpdateAPU18
209labelLabel_FFF0UpdateAPU19
210labelLabel_FFF7ResetVector