Donkey Kong (JU): Pass 2 complete

- 6,014 instructions (76.3% code), 214 semantic labels, 145 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
This commit is contained in:
tmerritt committed 2026-10-18 21:03:21 -04:00
1 parent 2ae09f78ce
commit 7aeea7bf78
6 files changed
+1452 -325

No files matched your search

+93 -93
View File
@@ -246,7 +246,7 @@ al 00ECC6 .Label_ECC6
al 00ECBF .Label_ECBF
al 00ECBE .Label_ECBE
al 00ECAF .Label_ECAF
al 00EC80 .Label_EC80
al 00EC80 .UpdateMusic2
al 00EC76 .Label_EC76
al 00EC97 .Label_EC97
al 00ECA7 .Label_ECA7
@@ -294,7 +294,7 @@ al 00EAE1 .Label_EAE1
al 00EADB .Label_EADB
al 00EAD6 .Label_EAD6
al 00EAD4 .Label_EAD4
al 00EAD1 .Label_EAD1
al 00EAD1 .UpdateSoundChannel4
al 00EACD .Label_EACD
al 00EACC .Label_EACC
al 00EAC8 .Label_EAC8
@@ -310,7 +310,7 @@ al 00EA64 .Label_EA64
al 00EA5F .Label_EA5F
al 00EA5E .Label_EA5E
al 00EA34 .Label_EA34
al 00EA2F .Label_EA2F
al 00EA2F .UpdateSoundChannels
al 00EA2A .Label_EA2A
al 00EA11 .Label_EA11
al 00EA01 .Label_EA01
@@ -398,7 +398,7 @@ al 00E623 .Label_E623
al 00E620 .Label_E620
al 00E611 .Label_E611
al 00E60C .Label_E60C
al 00E609 .Label_E609
al 00E609 .UpdateMusicEngine
al 00E5FA .Label_E5FA
al 00E60F .Label_E60F
al 00E5E8 .Label_E5E8
@@ -440,7 +440,7 @@ al 00E436 .Label_E436
al 00E41B .Label_E41B
al 00E413 .Label_E413
al 00E411 .Label_E411
al 00E403 .Label_E403
al 00E403 .CheckGameState_3
al 00E408 .Label_E408
al 00E3E6 .Label_E3E6
al 00E3DD .Label_E3DD
@@ -476,9 +476,9 @@ al 00E2B6 .Label_E2B6
al 00E2B3 .Label_E2B3
al 00E29C .Label_E29C
al 00E28C .Label_E28C
al 00E28A .Label_E28A
al 00E28A .InitSound_3
al 00E280 .Label_E280
al 00E278 .Label_E278
al 00E278 .UpdateBallTrajectory
al 00E2A1 .Label_E2A1
al 00E29A .Label_E29A
al 00E295 .Label_E295
@@ -608,7 +608,7 @@ al 00DD73 .Label_DD73
al 00DD59 .Label_DD59
al 00DD60 .Label_DD60
al 00DD3A .Label_DD3A
al 00DD32 .Label_DD32
al 00DD32 .UpdateSpritePosition68
al 00DD06 .Label_DD06
al 00DD25 .Label_DD25
al 00DD13 .Label_DD13
@@ -636,7 +636,7 @@ al 00DBEE .Label_DBEE
al 00DBE7 .Label_DBE7
al 00DBCD .Label_DBCD
al 00DBED .Label_DBED
al 00DBB6 .Label_DBB6
al 00DBB6 .UpdateSpritePosition57
al 00DBA3 .Label_DBA3
al 00DBAC .Label_DBAC
al 00DB50 .Label_DB50
@@ -767,7 +767,7 @@ al 00D501 .Label_D501
al 00D4F9 .Label_D4F9
al 00D4EE .Label_D4EE
al 00D4ED .Label_D4ED
al 00D4CF .Label_D4CF
al 00D4CF .UpdateSpritePosition49
al 00D4CC .Label_D4CC
al 00D4C6 .Label_D4C6
al 00D4B1 .Label_D4B1
@@ -793,60 +793,60 @@ al 00D3AF .Label_D3AF
al 00D3CD .Label_D3CD
al 00D39C .Label_D39C
al 00D38B .Label_D38B
al 00D38E .Label_D38E
al 00D37E .Label_D37E
al 00D37B .Label_D37B
al 00D38E .UpdateSpritePosition44
al 00D37E .UpdateSpritePosition43
al 00D37B .UpdateSpritePosition42_3
al 00D373 .Label_D373
al 00D36A .Label_D36A
al 00D360 .Label_D360
al 00D36A .UpdateSpritePosition42_1
al 00D360 .UpdateSpritePosition41
al 00D35E .Label_D35E
al 00D353 .Label_D353
al 00D34E .Label_D34E
al 00D365 .Label_D365
al 00D32F .Label_D32F
al 00D326 .Label_D326
al 00D323 .Label_D323
al 00D2FD .Label_D2FD
al 00D32F .UpdateSpritePosition40
al 00D326 .UpdateSpritePosition39
al 00D323 .UpdateSpritePosition38
al 00D2FD .UpdateSpritePosition37
al 00D2F0 .Label_D2F0
al 00D2DF .Label_D2DF
al 00D2DF .UpdateSpritePosition36
al 00D2DD .Label_D2DD
al 00D2CB .Label_D2CB
al 00D2CB .UpdateSpritePosition35
al 00D2CA .Label_D2CA
al 00D28B .Label_D28B
al 00D28B .UpdateSpritePosition34
al 00D288 .Label_D288
al 00D275 .Label_D275
al 00D25D .Label_D25D
al 00D275 .UpdateSpritePosition33
al 00D25D .UpdateSpritePosition32
al 00D25B .Label_D25B
al 00D26D .Label_D26D
al 00D262 .Label_D262
al 00D23E .Label_D23E
al 00D227 .Label_D227
al 00D233 .Label_D233
al 00D208 .Label_D208
al 00D208 .UpdateSpritePosition31
al 00D205 .Label_D205
al 00D1F9 .Label_D1F9
al 00D1F3 .Label_D1F3
al 00D1E2 .Label_D1E2
al 00D1E5 .Label_D1E5
al 00D1CF .Label_D1CF
al 00D1CF .UpdateSpritePosition30
al 00D1CC .Label_D1CC
al 00D1C9 .Label_D1C9
al 00D1C6 .Label_D1C6
al 00D1C3 .Label_D1C3
al 00D1AA .Label_D1AA
al 00D1AA .UpdateSpritePosition29
al 00D1BB .Label_D1BB
al 00D1A4 .Label_D1A4
al 00D19A .Label_D19A
al 00D1A4 .UpdateSpritePosition28
al 00D19A .UpdateSpritePosition27
al 00D199 .Label_D199
al 00D189 .Label_D189
al 00D175 .Label_D175
al 00D175 .UpdateSpritePosition26
al 00D166 .Label_D166
al 00D169 .Label_D169
al 00D169 .UpdateSpritePosition25
al 00D14B .Label_D14B
al 00D139 .Label_D139
al 00D11D .Label_D11D
al 00D115 .Label_D115
al 00D11F .Label_D11F
al 00D11F .UpdateSpritePosition24
al 00D101 .Label_D101
al 00D0F4 .Label_D0F4
al 00D0F8 .Label_D0F8
@@ -854,46 +854,46 @@ al 00D0DD .Label_D0DD
al 00D0E4 .Label_D0E4
al 00D130 .Label_D130
al 00D138 .Label_D138
al 00D0C0 .Label_D0C0
al 00D0B5 .Label_D0B5
al 00D0C0 .UpdateSpritePosition23
al 00D0B5 .UpdateSpritePosition22_3
al 00D0AA .Label_D0AA
al 00D0A5 .Label_D0A5
al 00D086 .Label_D086
al 00D086 .UpdateSpritePosition22_1
al 00D065 .Label_D065
al 00D074 .Label_D074
al 00D0BF .Label_D0BF
al 00D063 .Label_D063
al 00D092 .Label_D092
al 00D04C .Label_D04C
al 00D04C .UpdateSpritePosition21_3
al 00D04B .Label_D04B
al 00D041 .Label_D041
al 00D032 .Label_D032
al 00D041 .UpdateSpritePosition21_1
al 00D032 .UpdateSpritePosition20
al 00D02A .Label_D02A
al 00D008 .Label_D008
al 00D008 .UpdateSpritePosition19
al 00CFF9 .Label_CFF9
al 00CFCD .Label_CFCD
al 00CFC6 .Label_CFC6
al 00CFC6 .UpdateSpritePosition18
al 00CFB8 .Label_CFB8
al 00CFAC .Label_CFAC
al 00CFA8 .Label_CFA8
al 00CFA8 .UpdateSpritePosition17
al 00CFA1 .Label_CFA1
al 00CF9B .Label_CF9B
al 00CF87 .Label_CF87
al 00CF87 .UpdateSpritePosition16
al 00CF79 .Label_CF79
al 00CF7A .Label_CF7A
al 00CF92 .Label_CF92
al 00CF55 .Label_CF55
al 00CF8F .Label_CF8F
al 00CF42 .Label_CF42
al 00CF2B .Label_CF2B
al 00CF42 .UpdateSpritePosition15
al 00CF2B .UpdateSpritePosition14
al 00CF2A .Label_CF2A
al 00CF1C .Label_CF1C
al 00CF19 .Label_CF19
al 00CF13 .Label_CF13
al 00CF1C .UpdateSpritePosition13_3
al 00CF19 .UpdateSpritePosition13_1
al 00CF13 .UpdateSpritePosition12
al 00CF0D .Label_CF0D
al 00CF01 .Label_CF01
al 00CED3 .Label_CED3
al 00CED6 .Label_CED6
al 00CED6 .UpdateSpritePosition11
al 00CEC1 .Label_CEC1
al 00CEB8 .Label_CEB8
al 00CEB1 .Label_CEB1
@@ -901,22 +901,22 @@ al 00CEA2 .Label_CEA2
al 00CEAE .Label_CEAE
al 00CE8B .Label_CE8B
al 00CE94 .Label_CE94
al 00CE7C .Label_CE7C
al 00CE7C .UpdateSpritePosition10
al 00CE2F .Label_CE2F
al 00CE24 .Label_CE24
al 00CE24 .UpdateSpritePosition9
al 00CE1F .Label_CE1F
al 00CE0E .Label_CE0E
al 00CE0E .UpdateSpritePosition8
al 00CDF3 .Label_CDF3
al 00CDEF .Label_CDEF
al 00CDCA .Label_CDCA
al 00CDCA .UpdateSpritePosition7
al 00CDD7 .Label_CDD7
al 00CDB1 .Label_CDB1
al 00CDB1 .UpdateSpritePosition6
al 00CDAE .Label_CDAE
al 00CD9D .Label_CD9D
al 00CD89 .Label_CD89
al 00CD7F .Label_CD7F
al 00CD76 .Label_CD76
al 00CD6F .Label_CD6F
al 00CD9D .UpdateSpritePosition5
al 00CD89 .UpdateSpritePosition4
al 00CD7F .UpdateSpritePosition3
al 00CD76 .UpdateSpritePosition2
al 00CD6F .UpdateSpritePosition
al 00CD6C .Label_CD6C
al 00CD69 .Label_CD69
al 00CD66 .Label_CD66
@@ -925,31 +925,31 @@ al 00CD58 .Label_CD58
al 00CD4F .Label_CD4F
al 00CD4A .Label_CD4A
al 00CD45 .Label_CD45
al 00CD22 .Label_CD22
al 00CD22 .UpdateGameTimer
al 00CD13 .Label_CD13
al 00CD07 .Label_CD07
al 00CCF4 .Label_CCF4
al 00CCF4 .CheckGameState_1
al 00CCF3 .Label_CCF3
al 00CCD6 .Label_CCD6
al 00CCC1 .Label_CCC1
al 00CCD6 .UpdateScroll8
al 00CCC1 .UpdateScroll7
al 00CCA6 .Label_CCA6
al 00CC99 .Label_CC99
al 00CC4A .Label_CC4A
al 00CC47 .Label_CC47
al 00CC34 .Label_CC34
al 00CC47 .InitScroll
al 00CC34 .UpdateScroll6
al 00CC24 .Label_CC24
al 00CC23 .Label_CC23
al 00CC04 .Label_CC04
al 00CC03 .Label_CC03
al 00CBF7 .Label_CBF7
al 00CBF5 .Label_CBF5
al 00CC23 .UpdateScroll5
al 00CC04 .UpdateScroll4
al 00CC03 .UpdateOAM3
al 00CBF7 .UpdateOAM2
al 00CBF5 .UpdateOAM
al 00CBEB .Label_CBEB
al 00CBDF .Label_CBDF
al 00CBF4 .Label_CBF4
al 00CBCA .Label_CBCA
al 00CBBD .Label_CBBD
al 00CBB7 .Label_CBB7
al 00CBAE .Label_CBAE
al 00CBF4 .UpdateScroll3
al 00CBCA .UpdateScroll2
al 00CBBD .UpdateScroll
al 00CBB7 .WaitVBlank_1
al 00CBAE .ClearZeropage
al 00CB9E .Label_CB9E
al 00CB7B .Label_CB7B
al 00CB46 .Label_CB46
@@ -958,7 +958,7 @@ al 00CB58 .Label_CB58
al 00CB36 .Label_CB36
al 00CB39 .Label_CB39
al 00CB30 .Label_CB30
al 00CB1B .Label_CB1B
al 00CB1B .HandleController
al 00CB15 .Label_CB15
al 00CAF6 .Label_CAF6
al 00CAFA .Label_CAFA
@@ -966,20 +966,20 @@ al 00CAE7 .Label_CAE7
al 00CB18 .Label_CB18
al 00CB02 .Label_CB02
al 00CAD8 .Label_CAD8
al 00CAC9 .Label_CAC9
al 00CAC9 .UpdateSpriteData
al 00CABB .Label_CABB
al 00CAB9 .Label_CAB9
al 00CAB9 .CopyFromOAM
al 00CAAB .Label_CAAB
al 00CAA9 .Label_CAA9
al 00CAA9 .CopyToOAM
al 00CA99 .Label_CA99
al 00CA94 .Label_CA94
al 00CA53 .Label_CA53
al 00CA53 .UpdateSprites2
al 00CA79 .Label_CA79
al 00CA64 .Label_CA64
al 00CA5F .Label_CA5F
al 00CA5A .Label_CA5A
al 00CA4A .Label_CA4A
al 00CA30 .Label_CA30
al 00CA30 .UpdateSprites
al 00CA26 .Label_CA26
al 00CA06 .Label_CA06
al 00C9B1 .Label_C9B1
@@ -989,18 +989,18 @@ al 00C989 .Label_C989
al 00C976 .Label_C976
al 00C985 .Label_C985
al 00C95C .Label_C95C
al 00C98A .Label_C98A
al 00C95D .Label_C95D
al 00C940 .Label_C940
al 00C914 .Label_C914
al 00C8FE .Label_C8FE
al 00C8F3 .Label_C8F3
al 00C8E8 .Label_C8E8
al 00C8CB .Label_C8CB
al 00C8D7 .Label_C8D7
al 00C98A .UpdateGameState3
al 00C95D .UpdateGameState2
al 00C940 .UpdateGameState
al 00C914 .InitLevel
al 00C8FE .InitSound_1
al 00C8F3 .InitAPU
al 00C8E8 .NmiFrameEnd
al 00C8CB .NmiFrameUpdate2
al 00C8D7 .NmiFrameUpdate4
al 00C8A5 .Label_C8A5
al 00C8D4 .Label_C8D4
al 00C8C1 .Label_C8C1
al 00C8D4 .NmiFrameUpdate3
al 00C8C1 .NmiFrameUpdate
al 00C85F .NmiHandler
al 00C853 .Label_C853
al 00C847 .Label_C847
@@ -1008,8 +1008,8 @@ al 00C831 .Label_C831
al 00C823 .Label_C823
al 00C815 .Label_C815
al 00C807 .Label_C807
al 00C7E7 .Label_C7E7
al 00C7E1 .Label_C7E1
al 00C7E7 .InitPPURegisters
al 00C7E1 .GameLoopEntry
al 00C7B9 .Label_C7B9
al 00C7A8 .Label_C7A8
al 00C79E .Reset