- 6,589 instructions (81.9% code), 240 semantic labels, 186 zero-page aliases - BYTE-IDENTICAL build verified - Key routines: Reset, NmiHandler, MainGameLoop, InitPPU, InitSound, UpdateSprites, UpdateGameState - Zero-page aliases: PPUCtrlShadow (0), PPUMaskShadow (1), PPUScrollX/Y (2/3), GameState (/bin/bash3), PlayerLives (/bin/bash4) - Root OVERVIEW.md updated to reflect Pass 2 completion
499 lines
13 KiB
Plaintext
499 lines
13 KiB
Plaintext
label Label_C41E Reset
|
|
label Label_C428 WaitVBlank_1
|
|
label Label_C439 ClearZeropage_1
|
|
label Label_C442 InitGame_1
|
|
label Label_C475 MainGameLoop
|
|
label Label_C47B InitPPU_1
|
|
label Label_C48C InitSprites_1
|
|
label Label_C495 ClearSpriteRAM
|
|
label Label_C541 InitAPU
|
|
label Label_C553 InitPPU_3
|
|
label Label_C5E4 UpdateSprites
|
|
label Label_C609 UpdateSprites2_1
|
|
label Label_C656 UpdateSprites3_1
|
|
label Label_C6D7 UpdateSprites4
|
|
label Label_C6EC ClearZeropage_3
|
|
label Label_C6F9 InitSpriteData
|
|
label Label_C707 UpdateSprites2_3
|
|
label Label_C71F UpdateSprites2_4
|
|
label Label_C723 UpdatePPUMask
|
|
label Label_C729 InitSprites_3
|
|
label Label_C797 InitLevel
|
|
label Label_C79B InitLevel2
|
|
label Label_C7C3 UpdateGameState
|
|
label Label_C7F1 CheckLevelComplete
|
|
label Label_C7F3 CheckLevelComplete2
|
|
label Label_C814 UpdatePlayerPosition_1
|
|
label Label_C83F UpdateSpritePosition
|
|
label Label_C866 CheckController
|
|
label Label_C8BB UpdateGameState2_1
|
|
label Label_C8DB UpdateGameState3_1
|
|
label Label_C8E2 CheckGameState_1
|
|
label Label_C8E2 CheckGameState2
|
|
label Label_C8F3 HandleMathProblem
|
|
label Label_C8FE PlaySound_1
|
|
label Label_C911 CheckButtonPress
|
|
label Label_C940 UpdateGameTimer_1
|
|
label Label_C95D UpdateScore_1
|
|
label Label_C98A UpdateGameState4_1
|
|
label Label_CA37 CheckAnswer
|
|
label Label_CA43 CheckAnswer2
|
|
label Label_CA7D CheckAnswer3_1
|
|
label Label_CA86 UpdateScore_3
|
|
label Label_CA99 UpdateScore2_1
|
|
label Label_CAF7 UpdateScore3
|
|
label Label_CB17 UpdateGameState2_3
|
|
label Label_CB26 CheckAnswer3_3
|
|
label Label_CB44 UpdateGameState3_3
|
|
label Label_CB73 UpdatePlayerScore
|
|
label Label_CB89 CheckAnswer4
|
|
label Label_CB94 UpdateGameState4_3
|
|
label Label_CBCC UpdateGameState5
|
|
label Label_CBD7 UpdatePlayerPosition_3
|
|
label Label_CC3E UpdateGameState6
|
|
label Label_CC42 UpdateGameState7
|
|
label Label_CC47 InitGame_3
|
|
label Label_CC5C UpdateGameState8
|
|
label Label_CCA3 UpdateScore2_3
|
|
label Label_CCAE UpdateGameState9
|
|
label Label_CCB7 UpdateGameState10
|
|
label Label_CCC1 UpdateGameState11
|
|
label Label_CCCE CheckAnswer5
|
|
label Label_CCD6 UpdateGameState12
|
|
label Label_CCE3 UpdateSpriteData
|
|
label Label_CCEC UpdateSpritePosition2_1
|
|
label Label_CCF4 CheckAnswer6
|
|
label Label_CD22 UpdateGameTimer_3
|
|
label Label_CD6F UpdateSpritePosition2_3
|
|
label Label_CD76 UpdateSpritePosition3
|
|
label Label_CD7F UpdateSpritePosition4
|
|
label Label_CD89 UpdateSpritePosition5
|
|
label Label_CD9D UpdateSpritePosition6
|
|
label Label_CDB1 UpdateSpritePosition7
|
|
label Label_CDCA UpdateSpritePosition8
|
|
label Label_CE0E UpdateSpritePosition9
|
|
label Label_CE24 UpdateSpritePosition10
|
|
label Label_CE7C UpdateSpritePosition11
|
|
label Label_CED6 UpdateSpritePosition12
|
|
label Label_CF13 UpdateSpritePosition13
|
|
label Label_CF19 UpdateSpritePosition14
|
|
label Label_CF1C UpdateSpritePosition15_1
|
|
label Label_CF2B UpdateSpritePosition15_3
|
|
label Label_CF42 UpdateSpritePosition16_1
|
|
label Label_CF87 UpdateSpritePosition16_3
|
|
label Label_CFA8 UpdateSpritePosition17
|
|
label Label_CFC6 UpdateSpritePosition18
|
|
label Label_D008 UpdateSpritePosition19
|
|
label Label_D032 UpdateSpritePosition20
|
|
label Label_D041 UpdateSpritePosition21_1
|
|
label Label_D04C UpdateSpritePosition21_3
|
|
label Label_D086 UpdateSpritePosition22_1
|
|
label Label_D0B5 UpdateSpritePosition22_3
|
|
label Label_D0C0 UpdateSpritePosition23
|
|
label Label_D11F UpdateSpritePosition24
|
|
label Label_D169 UpdateSpritePosition25
|
|
label Label_D175 UpdateSpritePosition26
|
|
label Label_D19A UpdateSpritePosition27
|
|
label Label_D1A4 UpdateSpritePosition28
|
|
label Label_D1AA UpdateSpritePosition29
|
|
label Label_D1CF UpdateSpritePosition30
|
|
label Label_D208 UpdateSpritePosition31
|
|
label Label_D25D UpdateSpritePosition32
|
|
label Label_D275 UpdateSpritePosition33
|
|
label Label_D28B UpdateSpritePosition34
|
|
label Label_D2CB UpdateSpritePosition35
|
|
label Label_D2DF UpdateSpritePosition36
|
|
label Label_D2FD UpdateSpritePosition37
|
|
label Label_D323 UpdateSpritePosition38
|
|
label Label_D326 UpdateSpritePosition39
|
|
label Label_D32F UpdateSpritePosition40
|
|
label Label_D360 UpdateSpritePosition41
|
|
label Label_D36A UpdateSpritePosition42_1
|
|
label Label_D37B UpdateSpritePosition42_3
|
|
label Label_D37E UpdateSpritePosition43
|
|
label Label_D38E UpdateSpritePosition44
|
|
label Label_D3AA UpdateSpritePosition45
|
|
label Label_D3CC UpdateSpritePosition46
|
|
label Label_D4A1 UpdateSpritePosition47
|
|
label Label_D4B9 UpdateSpritePosition48
|
|
label Label_D4CF UpdateSpritePosition49
|
|
label Label_D4F0 UpdateSpritePosition50
|
|
label Label_D5C1 UpdateSpritePosition51
|
|
label Label_D5D1 UpdateSpritePosition52
|
|
label Label_D5F5 UpdateSpritePosition53
|
|
label Label_D6A8 UpdateSpritePosition54
|
|
label Label_D730 UpdateSpritePosition55
|
|
label Label_D739 UpdateSpritePosition56
|
|
label Label_DBB6 UpdateSpritePosition57
|
|
label Label_DBC8 UpdateSpritePosition58
|
|
label Label_DBE3 UpdateSpritePosition59
|
|
label Label_DBFA UpdateSpritePosition60
|
|
label Label_DC0D UpdateSpritePosition61
|
|
label Label_DC11 UpdateSpritePosition62
|
|
label Label_DC3E UpdateSpritePosition63
|
|
label Label_DCAA UpdateSpritePosition64
|
|
label Label_DCDD UpdateSpritePosition65
|
|
label Label_DCE3 UpdateSpritePosition66
|
|
label Label_DCEC UpdateSpritePosition67
|
|
label Label_DD32 UpdateSpritePosition68
|
|
label Label_DD5D UpdateSpritePosition69
|
|
label Label_DD75 UpdateSpritePosition70
|
|
label Label_DD78 UpdateSpritePosition71
|
|
label Label_DD8F UpdateSpritePosition72
|
|
label Label_DD92 UpdateSpritePosition73
|
|
label Label_DDA3 UpdateSpritePosition74
|
|
label Label_DDAC UpdateSpritePosition75
|
|
label Label_DDBE UpdateSpritePosition76
|
|
label Label_DDBE UpdateSpritePosition77
|
|
label Label_DDC7 UpdateSpritePosition78
|
|
label Label_DDF1 UpdateSpritePosition79
|
|
label Label_DE30 UpdateSpritePosition80
|
|
label Label_DE41 UpdateSpritePosition81
|
|
label Label_DE63 UpdateSpritePosition82
|
|
label Label_DE75 UpdateSpritePosition83
|
|
label Label_DE7E UpdateSpritePosition84
|
|
label Label_DE30 UpdateSoundEngine
|
|
label Label_E023 WaitVBlank_3
|
|
label Label_E025 WaitVBlank2
|
|
label Label_E02C WaitVBlank3
|
|
label Label_E035 WaitPPUReady
|
|
label Label_E046 WaitFrame
|
|
label Label_E049 InitPPU_4
|
|
label Label_E09B InitSprites_4
|
|
label Label_E0E3 DrawSprite
|
|
label Label_E0EF WritePPU
|
|
label Label_E0F6 WritePPU2
|
|
label Label_E0FD InitGame_4
|
|
label Label_E278 UpdateBallTrajectory
|
|
label Label_E28A InitSound
|
|
label Label_E293 InitSprites2
|
|
label Label_E2A6 UpdateBallPhysics
|
|
label Label_E3E2 UpdateGameMode
|
|
label Label_E403 CheckGameState_3
|
|
label Label_E40E UpdateDisplay
|
|
label Label_E459 UpdateDisplay2
|
|
label Label_E48C UpdateSprites3_3
|
|
label Label_E497 UpdateDisplay3
|
|
label Label_E4E2 UpdateDisplay4
|
|
label Label_E506 PlaySound_3
|
|
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
|
|
label Label_E9ED UpdateSoundChannel3
|
|
label Label_EA2F UpdateSoundChannels
|
|
label Label_EA50 UpdateSoundEffect
|
|
label Label_EA58 UpdateSoundEffect2
|
|
label Label_EAD1 UpdateSoundChannel4
|
|
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 TempPtrLo
|
|
zp Zp01 TempPtrHi
|
|
zp Zp02 TempReg
|
|
zp Zp03 TempReg2
|
|
zp Zp04 TempReg3
|
|
zp Zp05 TempReg3
|
|
zp Zp06 TempReg4
|
|
zp Zp07 TempReg5
|
|
zp Zp08 TempReg6
|
|
zp Zp09 TempReg7
|
|
zp Zp0A TempReg8
|
|
zp Zp0B TempReg9
|
|
zp Zp0C TempReg10
|
|
zp Zp0D TempReg11
|
|
zp Zp0E TempReg12
|
|
zp Zp0F TempReg13
|
|
zp Zp10 PPUCtrlShadow
|
|
zp Zp11 PPUMaskShadow
|
|
zp Zp12 PPUScrollX
|
|
zp Zp13 PPUScrollY
|
|
zp Zp14 TempReg14
|
|
zp Zp15 TempReg15
|
|
zp Zp16 TempReg16
|
|
zp Zp17 TempReg17
|
|
zp Zp18 TempReg18
|
|
zp Zp19 TempReg19
|
|
zp Zp1A TempReg20
|
|
zp Zp1B TempReg21
|
|
zp Zp1C TempReg22
|
|
zp Zp1D TempReg23
|
|
zp Zp1E TempReg24
|
|
zp Zp1F TempReg25
|
|
zp Zp20 TempReg26
|
|
zp Zp21 TempReg27
|
|
zp Zp22 TempReg28
|
|
zp Zp23 TempReg29
|
|
zp Zp24 TempReg30
|
|
zp Zp25 TempReg31
|
|
zp Zp26 TempReg32
|
|
zp Zp27 TempReg33
|
|
zp Zp28 TempReg34
|
|
zp Zp29 TempReg35
|
|
zp Zp2A TempReg36
|
|
zp Zp2B TempReg37
|
|
zp Zp2C TempReg38
|
|
zp Zp2D TempReg39
|
|
zp Zp2E TempReg40
|
|
zp Zp2F TempReg41
|
|
zp Zp2F TempReg42
|
|
zp Zp30 TempReg43
|
|
zp Zp31 TempReg44
|
|
zp Zp32 TempReg45
|
|
zp Zp33 TempReg46
|
|
zp Zp34 TempReg47
|
|
zp Zp35 TempReg48
|
|
zp Zp36 TempReg49
|
|
zp Zp37 TempReg50
|
|
zp Zp37 TempReg51
|
|
zp Zp38 TempReg51
|
|
zp Zp3A TempReg52
|
|
zp Zp3B TempReg53
|
|
zp Zp3C TempReg54
|
|
zp Zp3D TempReg55
|
|
zp Zp3E TempReg56
|
|
zp Zp3F TempReg58
|
|
zp Zp40 TempReg59
|
|
zp Zp41 TempReg60
|
|
zp Zp42 TempReg61
|
|
zp Zp42 TempReg62
|
|
zp Zp43 TempReg63
|
|
zp Zp44 TempReg64
|
|
zp Zp45 TempReg65
|
|
zp Zp46 TempReg66
|
|
zp Zp47 TempReg67
|
|
zp Zp48 TempReg68
|
|
zp Zp49 TempReg69
|
|
zp Zp4A TempReg70
|
|
zp Zp4B TempReg71
|
|
zp Zp4C TempReg72
|
|
zp Zp4D TempReg73
|
|
zp Zp4E TempReg73
|
|
zp Zp4F TempReg74
|
|
zp Zp50 TempReg75
|
|
zp Zp51 TempReg76
|
|
zp Zp52 TempReg77
|
|
zp Zp53 TempReg78
|
|
zp Zp54 TempReg79
|
|
zp Zp55 TempReg80
|
|
zp Zp56 TempReg81
|
|
zp Zp57 TempReg82
|
|
zp Zp58 TempReg83
|
|
zp Zp5A TempReg85
|
|
zp Zp5B TempReg86
|
|
zp Zp5C TempReg87
|
|
zp Zp5D TempReg88
|
|
zp Zp5E TempReg89
|
|
zp Zp5F TempReg90
|
|
zp Zp5F TempReg91
|
|
zp Zp60 TempReg92
|
|
zp Zp61 TempReg93
|
|
zp Zp62 TempReg94
|
|
zp Zp63 TempReg95
|
|
zp Zp64 TempReg96
|
|
zp Zp65 TempReg96
|
|
zp Zp66 TempReg97
|
|
zp Zp67 TempReg98
|
|
zp Zp67 TempReg98
|
|
zp Zp68 TempReg99
|
|
zp Zp69 TempReg100
|
|
zp Zp6A TempReg101
|
|
zp Zp6B TempReg102
|
|
zp Zp6C TempReg103
|
|
zp Zp6D TempReg104
|
|
zp Zp6E TempReg105
|
|
zp Zp6F TempReg106
|
|
zp Zp70 TempReg107
|
|
zp Zp71 TempReg108
|
|
zp Zp72 TempReg109
|
|
zp Zp73 TempReg110
|
|
zp Zp74 TempReg111
|
|
zp Zp75 TempReg111
|
|
zp Zp76 TempReg112
|
|
zp Zp77 TempReg113
|
|
zp Zp78 TempReg114
|
|
zp Zp79 TempReg115
|
|
zp Zp7A TempReg116
|
|
zp Zp7B TempReg117
|
|
zp Zp7C TempReg118
|
|
zp Zp7D TempReg119
|
|
zp Zp7E TempReg120
|
|
zp Zp7F TempReg121
|
|
zp Zp80 TempReg122
|
|
zp Zp81 TempReg123
|
|
zp Zp82 TempReg124
|
|
zp Zp83 TempReg125
|
|
zp Zp84 TempReg126
|
|
zp Zp85 TempReg127
|
|
zp Zp86 TempReg128
|
|
zp Zp87 TempReg129
|
|
zp Zp8A TempReg130
|
|
zp Zp8B TempReg131
|
|
zp Zp8C TempReg134
|
|
zp Zp8D TempReg135
|
|
zp Zp8E TempReg136
|
|
zp Zp8F TempReg137
|
|
zp Zp90 TempReg138
|
|
zp Zp91 TempReg139
|
|
zp Zp92 TempReg140
|
|
zp Zp93 TempReg141
|
|
zp Zp94 TempReg142
|
|
zp Zp95 TempReg142
|
|
zp Zp96 TempReg143
|
|
zp Zp97 TempReg144
|
|
zp Zp98 TempReg145
|
|
zp Zp99 TempReg146
|
|
zp Zp9A TempReg147
|
|
zp Zp9B TempReg148
|
|
zp Zp9C TempReg149
|
|
zp Zp9D TempReg150
|
|
zp Zp9E TempReg151
|
|
zp Zp9F TempReg152
|
|
zp ZpA0 TempReg153
|
|
zp ZpA1 TempReg154
|
|
zp ZpA2 TempReg155
|
|
zp ZpA3 TempReg156
|
|
zp ZpA3 TempReg157
|
|
zp ZpA4 TempReg158
|
|
zp ZpA5 TempReg159
|
|
zp ZpA6 TempReg160
|
|
zp ZpA7 TempReg161
|
|
zp ZpA8 TempReg162
|
|
zp ZpA9 TempReg163
|
|
zp ZpAA TempReg163
|
|
zp ZpAB TempReg164
|
|
zp ZpAC TempReg165
|
|
zp ZpAD TempReg166
|
|
zp ZpAE TempReg167
|
|
zp ZpAF TempReg168
|
|
zp ZpB0 TempReg169
|
|
zp ZpB1 TempReg170
|
|
zp ZpB2 TempReg171
|
|
zp ZpB3 TempReg172
|
|
zp ZpB4 TempReg173
|
|
zp ZpB5 TempReg174
|
|
zp ZpB6 TempReg175
|
|
zp ZpB7 TempReg176
|
|
zp ZpB8 TempReg177
|
|
zp ZpB9 TempReg177
|
|
zp ZpBA TempReg178
|
|
zp ZpBB TempReg179
|
|
zp ZpBC TempReg180
|
|
zp ZpBD TempReg181
|
|
zp ZpBE TempReg182
|
|
zp ZpBF TempReg183
|
|
zp ZpC0 TempReg184
|
|
zp ZpC1 TempReg185
|
|
zp ZpC2 TempReg186
|
|
zp ZpC3 TempReg187
|
|
zp ZpC4 TempReg188
|
|
zp ZpC5 TempReg189
|
|
zp ZpC6 TempReg190
|
|
zp ZpC7 TempReg191
|
|
zp ZpC8 TempReg192
|
|
zp ZpC9 TempReg193
|
|
zp ZpCA TempReg195
|
|
zp ZpCB TempReg196
|
|
zp ZpCC TempReg196
|
|
zp ZpCD TempReg197
|
|
zp ZpCE TempReg198
|
|
zp ZpCF TempReg199
|
|
zp ZpD0 TempReg185
|
|
zp ZpD1 TempReg186
|
|
zp ZpD2 TempReg187
|
|
zp ZpD3 TempReg188
|
|
zp ZpD4 TempReg189
|
|
zp ZpD8 TempReg193
|
|
zp ZpD9 TempReg194
|
|
zp ZpDA TempReg195
|
|
zp ZpDB TempReg196
|
|
zp ZpDC TempReg197
|
|
zp ZpDD TempReg198
|
|
zp ZpDE TempReg199
|
|
zp ZpDF TempReg200
|
|
zp ZpE0 TempReg201
|
|
zp ZpE1 TempReg202
|
|
zp ZpE2 TempReg203
|
|
zp ZpE3 TempReg204
|
|
zp ZpE4 TempReg205
|
|
zp ZpE5 TempReg206
|
|
zp ZpE6 TempReg207
|
|
zp ZpE7 TempReg208
|
|
zp ZpE8 TempReg209
|
|
zp ZpE9 TempReg210
|
|
zp ZpEA TempReg211
|
|
zp ZpEB TempReg212
|
|
zp ZpEC TempReg213
|
|
zp ZpED TempReg214
|
|
zp ZpEE TempReg215
|
|
zp ZpEF TempReg216
|
|
zp ZpF0 TempReg217
|
|
zp ZpF1 TempReg218
|
|
zp ZpF2 TempReg219
|
|
zp ZpF3 TempReg220
|
|
zp ZpF4 TempReg221
|
|
zp ZpF5 TempReg222
|
|
zp ZpF6 TempReg223
|
|
zp ZpF7 TempReg224
|
|
zp ZpF8 TempReg225
|
|
zp ZpF9 TempReg226
|
|
zp ZpFA TempReg227
|
|
zp ZpFB TempReg228
|
|
zp ZpFC TempReg229
|
|
zp ZpFD TempReg230
|
|
zp ZpFE TempReg231
|
|
zp ZpFF TempReg233 |