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].
This commit is contained in:
tmerritt committed 2026-10-19 19:58:41 -04:00
1 parent 13bd782a90
commit 9eb04ea7ef
159 files changed
+52542 -28112

No files matched your search

@@ -0,0 +1,196 @@
C000 Reset
C002 WaitVBlank_E023_1
C023 InitGameState
C02C NmiHandler
C03B MainGameLoop
C04A ClearSpriteRAM
C058 InitLevel
C09B CheckGameMode
C0AE GameModeTitle
C0BC GameModePlay
C0BF WaitVBlank_E023Frame
C0CC CheckController
C0D3 UpdateFrameCounter
C0E9 CheckHighScore
C10E ProcessController
C181 UpdateSprites_C34B_1
C25A NmiFrameEnd
C26F HandleBonus
C27F GameStateUpdate
C294 InitBallLaunch
C2DE DrawPlayfield
C301 DrawStatusBar
C32E DrawDigits
C34B UpdateSprites_C34B_3
C37C BallPhysicsMain
C38C CheckTilt
C3B1 UpdateFlipper
C3B7 UpdateBallTrajectory
C3C7 BallLost
C3CE UpdateBonusTimer
C3D3 BallLostSequence
C3E0 DrawGameOver
C3F4 ClearPlayfield
C403 CheckGameOver
C40E DrawNumber
C4A1 ReadPPUData
C4B9 ReadPPUDataY
C4CF UpdateScoreDisplay
C4F0 UpdateFlippers
C5C1 UpdateFlippersState
C5D1 UpdateFlipperSprites
C5F5 UpdateBallSprites
C6A8 UpdateBallPosition
C730 CheckBallCollision
C739 CheckBallInHole
C7C2 IncrementBonus
C7D3 UpdateBonusDisplay
CE6C InitializeRAM
CEF2 ProcessSpriteData
CF04 ProcessSpriteAttributes
CF82 ProcessSpriteAttributes2
CFEC UpdateSprites_C34B2
D03C UpdateScore
D07C UpdateBallY
D093 UpdateBallX
D0AD UpdateScore2
D0E0 UpdateFlipperSound
D159 UpdateBallPosition_3
D15B UpdateBallPosition2
D191 UpdateBallY2
D1FB UpdateBallSprite
D296 CheckCollision
D2E4 CheckFlipperHit
D2E9 CheckBallPocket
D334 CheckBallVelocity
D359 CheckBallPosition
D386 CheckTiltSwitch
D390 DrawScore
D3AA UpdateScoreDisplay_3
D3CC UpdateScoreDigits
D4A1 ReadPPUData
D4B9 ReadPPUDataY
D4CF UpdateScoreDisplay2
D4F0 UpdateFlippers_3
D5C1 CheckFlipperPressed
D5D1 UpdateFlipperState
D5F5 UpdateFlipperSprites_3
D6A8 UpdateBallVelocity
D730 CheckBallSpeed
D739 UpdateBallDirection
DBB6 UpdateBumper
DBC8 UpdateBumperState
DBE3 UpdateBumperHit
DBFA UpdateBumperSprites
DC0D UpdateBumperState2
DC11 UpdateBumperState3
DC3E UpdateBumperHit2
DCAA UpdateBumperState4
DCDD UpdateBumperChain
DCE3 UpdateBumperState5
DCEC UpdateBumperState6
DD32 UpdateBumperChain2
DD5D UpdateBumperState7
DD75 UpdateBumperState8
DD78 UpdateBumperState9
DD8F UpdateBumperState10
DD92 UpdateBumperState11
DDA3 UpdateBumperState12
DDAC UpdateBumperState13
DDBE UpdateBumperHit4
DDC7 UpdateBumperState15
DDF1 UpdateBumperState16
DE30 UpdateSoundEngine
DE41 UpdateSoundChannel
DE63 UpdateSoundChannel2
DE75 UpdateSoundChannel3
DE7E UpdateSoundChannel4
E023 WaitVBlank_E023Loop
E025 WaitVBlank_E023_3
E02C WaitVBlank_E0232
E035 WaitPPUReady
E046 WaitFrame
E049 InitPPU
E09B InitSprites
E0E3 DrawSprite
E0EF WritePPU
E0F6 WritePPU2
E0FD InitGame
E278 UpdateBallTrajectory
E28A InitSound
E293 InitSprites2
E2A6 UpdateBallPhysics
E3E2 UpdateGameMode
E403 CheckGameState
E40E UpdateDisplay
E459 UpdateDisplay2
E48C UpdateSprites_C34B3
E497 UpdateDisplay3
E4E2 UpdateDisplay4
E506 PlaySound
E535 PlaySoundEffect
E54A PlayMusic
E5B2 UpdateMusic
E609 UpdateMusicEngine
E68F UpdateMusicChannel
E7AC UpdateMusicChannel2
E94D UpdateSoundEffects
E96A UpdateSoundChannel2
E9ED UpdateSoundChannel3
EA2F UpdateSoundChannels
EA50 UpdateSoundEffect
EA58 UpdateSoundEffect2
EAD1 UpdateSoundChannel4
EAE5 UpdateSoundChannel5
EB0D UpdateSoundChannel6
EB27 UpdateSoundChannel7
EB9D UpdateSoundChannel8
EBF9 UpdateSoundChannel9
EC80 UpdateMusic2
EC8D UpdateMusicChannel10
ED06 UpdateMusicChannel11
EDB0 UpdateMusicChannel12
EDED UpdateMusicChannel13
EDF2 UpdateMusicChannel14
EE3D UpdateMusicChannel15
EE4D UpdateMusicChannel16
EF28 UpdateMusicChannel17
EF79 UpdateMusicChannel18
EFD3 UpdateMusicChannel19
EFDC UpdateMusicChannel19
F03F UpdateMusicChannel21
F06F UpdateMusicChannel22
F0C4 UpdateMusicChannel23
F0DF UpdateMusicChannel24
F0E7 UpdateMusicChannel25
F138 UpdateMusicChannel26
F140 UpdateMusicChannel27
F1FB UpdateMusicChannel28
F226 UpdateMusicChannel29
F2F0 UpdateMusicChannel30
F321 UpdateMusicChannel31
F3B9 UpdateMusicChannel32
F3E8 UpdateMusicChannel33
F41E UpdateMusicChannel34
F44B UpdateMusicChannel35
FB2C UpdateAPU
FB40 UpdateAPU2
FB43 UpdateAPU3
FB46 UpdateAPU4
FB49 UpdateAPU5
FB5D UpdateAPU6
FB6E UpdateAPU7
FBDD UpdateAPU8
FC0F UpdateAPU9
FC2B UpdateAPU10
FC72 UpdateAPU11
FCE2 UpdateAPU12
FD0D UpdateAPU13
FD55 UpdateAPU14
FD91 UpdateAPU15
FFDC UpdateAPU16
FFE3 UpdateAPU17
FFE9 UpdateAPU18
FFF0 UpdateAPU19
FFF7 ResetVector
FFF9 IrqHandler
1 C000 Reset
2 C002 WaitVBlank_E023_1
3 C023 InitGameState
4 C02C NmiHandler
5 C03B MainGameLoop
6 C04A ClearSpriteRAM
7 C058 InitLevel
8 C09B CheckGameMode
9 C0AE GameModeTitle
10 C0BC GameModePlay
11 C0BF WaitVBlank_E023Frame
12 C0CC CheckController
13 C0D3 UpdateFrameCounter
14 C0E9 CheckHighScore
15 C10E ProcessController
16 C181 UpdateSprites_C34B_1
17 C25A NmiFrameEnd
18 C26F HandleBonus
19 C27F GameStateUpdate
20 C294 InitBallLaunch
21 C2DE DrawPlayfield
22 C301 DrawStatusBar
23 C32E DrawDigits
24 C34B UpdateSprites_C34B_3
25 C37C BallPhysicsMain
26 C38C CheckTilt
27 C3B1 UpdateFlipper
28 C3B7 UpdateBallTrajectory
29 C3C7 BallLost
30 C3CE UpdateBonusTimer
31 C3D3 BallLostSequence
32 C3E0 DrawGameOver
33 C3F4 ClearPlayfield
34 C403 CheckGameOver
35 C40E DrawNumber
36 C4A1 ReadPPUData
37 C4B9 ReadPPUDataY
38 C4CF UpdateScoreDisplay
39 C4F0 UpdateFlippers
40 C5C1 UpdateFlippersState
41 C5D1 UpdateFlipperSprites
42 C5F5 UpdateBallSprites
43 C6A8 UpdateBallPosition
44 C730 CheckBallCollision
45 C739 CheckBallInHole
46 C7C2 IncrementBonus
47 C7D3 UpdateBonusDisplay
48 CE6C InitializeRAM
49 CEF2 ProcessSpriteData
50 CF04 ProcessSpriteAttributes
51 CF82 ProcessSpriteAttributes2
52 CFEC UpdateSprites_C34B2
53 D03C UpdateScore
54 D07C UpdateBallY
55 D093 UpdateBallX
56 D0AD UpdateScore2
57 D0E0 UpdateFlipperSound
58 D159 UpdateBallPosition_3
59 D15B UpdateBallPosition2
60 D191 UpdateBallY2
61 D1FB UpdateBallSprite
62 D296 CheckCollision
63 D2E4 CheckFlipperHit
64 D2E9 CheckBallPocket
65 D334 CheckBallVelocity
66 D359 CheckBallPosition
67 D386 CheckTiltSwitch
68 D390 DrawScore
69 D3AA UpdateScoreDisplay_3
70 D3CC UpdateScoreDigits
71 D4A1 ReadPPUData
72 D4B9 ReadPPUDataY
73 D4CF UpdateScoreDisplay2
74 D4F0 UpdateFlippers_3
75 D5C1 CheckFlipperPressed
76 D5D1 UpdateFlipperState
77 D5F5 UpdateFlipperSprites_3
78 D6A8 UpdateBallVelocity
79 D730 CheckBallSpeed
80 D739 UpdateBallDirection
81 DBB6 UpdateBumper
82 DBC8 UpdateBumperState
83 DBE3 UpdateBumperHit
84 DBFA UpdateBumperSprites
85 DC0D UpdateBumperState2
86 DC11 UpdateBumperState3
87 DC3E UpdateBumperHit2
88 DCAA UpdateBumperState4
89 DCDD UpdateBumperChain
90 DCE3 UpdateBumperState5
91 DCEC UpdateBumperState6
92 DD32 UpdateBumperChain2
93 DD5D UpdateBumperState7
94 DD75 UpdateBumperState8
95 DD78 UpdateBumperState9
96 DD8F UpdateBumperState10
97 DD92 UpdateBumperState11
98 DDA3 UpdateBumperState12
99 DDAC UpdateBumperState13
100 DDBE UpdateBumperHit4
101 DDC7 UpdateBumperState15
102 DDF1 UpdateBumperState16
103 DE30 UpdateSoundEngine
104 DE41 UpdateSoundChannel
105 DE63 UpdateSoundChannel2
106 DE75 UpdateSoundChannel3
107 DE7E UpdateSoundChannel4
108 E023 WaitVBlank_E023Loop
109 E025 WaitVBlank_E023_3
110 E02C WaitVBlank_E0232
111 E035 WaitPPUReady
112 E046 WaitFrame
113 E049 InitPPU
114 E09B InitSprites
115 E0E3 DrawSprite
116 E0EF WritePPU
117 E0F6 WritePPU2
118 E0FD InitGame
119 E278 UpdateBallTrajectory
120 E28A InitSound
121 E293 InitSprites2
122 E2A6 UpdateBallPhysics
123 E3E2 UpdateGameMode
124 E403 CheckGameState
125 E40E UpdateDisplay
126 E459 UpdateDisplay2
127 E48C UpdateSprites_C34B3
128 E497 UpdateDisplay3
129 E4E2 UpdateDisplay4
130 E506 PlaySound
131 E535 PlaySoundEffect
132 E54A PlayMusic
133 E5B2 UpdateMusic
134 E609 UpdateMusicEngine
135 E68F UpdateMusicChannel
136 E7AC UpdateMusicChannel2
137 E94D UpdateSoundEffects
138 E96A UpdateSoundChannel2
139 E9ED UpdateSoundChannel3
140 EA2F UpdateSoundChannels
141 EA50 UpdateSoundEffect
142 EA58 UpdateSoundEffect2
143 EAD1 UpdateSoundChannel4
144 EAE5 UpdateSoundChannel5
145 EB0D UpdateSoundChannel6
146 EB27 UpdateSoundChannel7
147 EB9D UpdateSoundChannel8
148 EBF9 UpdateSoundChannel9
149 EC80 UpdateMusic2
150 EC8D UpdateMusicChannel10
151 ED06 UpdateMusicChannel11
152 EDB0 UpdateMusicChannel12
153 EDED UpdateMusicChannel13
154 EDF2 UpdateMusicChannel14
155 EE3D UpdateMusicChannel15
156 EE4D UpdateMusicChannel16
157 EF28 UpdateMusicChannel17
158 EF79 UpdateMusicChannel18
159 EFD3 UpdateMusicChannel19
160 EFDC UpdateMusicChannel19
161 F03F UpdateMusicChannel21
162 F06F UpdateMusicChannel22
163 F0C4 UpdateMusicChannel23
164 F0DF UpdateMusicChannel24
165 F0E7 UpdateMusicChannel25
166 F138 UpdateMusicChannel26
167 F140 UpdateMusicChannel27
168 F1FB UpdateMusicChannel28
169 F226 UpdateMusicChannel29
170 F2F0 UpdateMusicChannel30
171 F321 UpdateMusicChannel31
172 F3B9 UpdateMusicChannel32
173 F3E8 UpdateMusicChannel33
174 F41E UpdateMusicChannel34
175 F44B UpdateMusicChannel35
176 FB2C UpdateAPU
177 FB40 UpdateAPU2
178 FB43 UpdateAPU3
179 FB46 UpdateAPU4
180 FB49 UpdateAPU5
181 FB5D UpdateAPU6
182 FB6E UpdateAPU7
183 FBDD UpdateAPU8
184 FC0F UpdateAPU9
185 FC2B UpdateAPU10
186 FC72 UpdateAPU11
187 FCE2 UpdateAPU12
188 FD0D UpdateAPU13
189 FD55 UpdateAPU14
190 FD91 UpdateAPU15
191 FFDC UpdateAPU16
192 FFE3 UpdateAPU17
193 FFE9 UpdateAPU18
194 FFF0 UpdateAPU19
195 FFF7 ResetVector
196 FFF9 IrqHandler