Donkey Kong Jr. Math (U): Pass 2 complete

- 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
This commit is contained in:
tmerritt committed 2026-10-18 21:10:28 -04:00
1 parent 7aeea7bf78
commit c204dac739
6 files changed
+1420 -218

No files matched your search

@@ -52,7 +52,7 @@ al 00FC52 .Label_FC52
al 00FC3A .Label_FC3A
al 00FC41 .Label_FC41
al 00FC1F .Label_FC1F
al 00FC2B .Label_FC2B
al 00FC2B .UpdateAPU10
al 00FBDC .Label_FBDC
al 00FC1C .Label_FC1C
al 00FC2F .Label_FC2F
@@ -164,7 +164,7 @@ al 00F0AE .Label_F0AE
al 00F0A9 .Label_F0A9
al 00F0BD .Label_F0BD
al 00F0F1 .Label_F0F1
al 00F06F .Label_F06F
al 00F06F .UpdateMusicChannel22
al 00F07B .Label_F07B
al 00F051 .Label_F051
al 00F04B .Label_F04B
@@ -197,7 +197,7 @@ al 00EE82 .Label_EE82
al 00EE75 .Label_EE75
al 00EE6F .Label_EE6F
al 00EE5E .Label_EE5E
al 00EE4D .Label_EE4D
al 00EE4D .UpdateMusicChannel16
al 00EE44 .Label_EE44
al 00EE38 .Label_EE38
al 00EE2A .Label_EE2A
@@ -267,7 +267,7 @@ al 00EB41 .Label_EB41
al 00EB75 .Label_EB75
al 00EB62 .Label_EB62
al 00EB15 .Label_EB15
al 00EB0D .Label_EB0D
al 00EB0D .UpdateSoundChannel6
al 00EAFE .Label_EAFE
al 00EADB .Label_EADB
al 00EAC7 .Label_EAC7
@@ -390,7 +390,7 @@ al 00E57E .Label_E57E
al 00E56B .Label_E56B
al 00E568 .Label_E568
al 00E5BD .Label_E5BD
al 00E54A .Label_E54A
al 00E54A .PlayMusic
al 00E53F .Label_E53F
al 00E529 .Label_E529
al 00E531 .Label_E531
@@ -416,7 +416,7 @@ al 00E4A2 .Label_E4A2
al 00E481 .Label_E481
al 00E476 .Label_E476
al 00E456 .Label_E456
al 00E459 .Label_E459
al 00E459 .UpdateDisplay2
al 00E45F .Label_E45F
al 00E44B .Label_E44B
al 00E44E .Label_E44E
@@ -488,7 +488,7 @@ al 00E170 .Label_E170
al 00E163 .Label_E163
al 00E15F .Label_E15F
al 00E137 .Label_E137
al 00E0FD .Label_E0FD
al 00E0FD .InitGame_4
al 00E0F4 .Label_E0F4
al 00E0E4 .Label_E0E4
al 00E0D7 .Label_E0D7
@@ -528,7 +528,7 @@ al 00DE9F .Label_DE9F
al 00DE9B .Label_DE9B
al 00DE77 .Label_DE77
al 00DE68 .Label_DE68
al 00DE63 .Label_DE63
al 00DE63 .UpdateSpritePosition82
al 00DE3D .Label_DE3D
al 00DE3A .Label_DE3A
al 00DE2A .Label_DE2A
@@ -554,7 +554,7 @@ al 00DD0C .Label_DD0C
al 00DD0A .Label_DD0A
al 00DD09 .Label_DD09
al 00DCEA .Label_DCEA
al 00DCE3 .Label_DCE3
al 00DCE3 .UpdateSpritePosition66
al 00DCFE .Label_DCFE
al 00DCE4 .Label_DCE4
al 00DCD1 .Label_DCD1
@@ -567,7 +567,7 @@ al 00DCC6 .Label_DCC6
al 00DC4A .Label_DC4A
al 00DC25 .Label_DC25
al 00DC1F .Label_DC1F
al 00DC0D .Label_DC0D
al 00DC0D .UpdateSpritePosition61
al 00DC0C .Label_DC0C
al 00DBEF .Label_DBEF
al 00DBF5 .Label_DBF5
@@ -758,7 +758,7 @@ al 00D1A8 .Label_D1A8
al 00D189 .Label_D189
al 00D1B8 .Label_D1B8
al 00D17A .Label_D17A
al 00D175 .Label_D175
al 00D175 .UpdateSpritePosition26
al 00D164 .Label_D164
al 00D158 .Label_D158
al 00D153 .Label_D153
@@ -868,57 +868,57 @@ al 00CD09 .Label_CD09
al 00CCF9 .Label_CCF9
al 00CCE2 .Label_CCE2
al 00CCD9 .Label_CCD9
al 00CCD6 .Label_CCD6
al 00CCD6 .UpdateGameState12
al 00CCC7 .Label_CCC7
al 00CCC6 .Label_CCC6
al 00CCC3 .Label_CCC3
al 00CCBD .Label_CCBD
al 00CCB7 .Label_CCB7
al 00CCB7 .UpdateGameState10
al 00CC9E .Label_CC9E
al 00CC94 .Label_CC94
al 00CC8C .Label_CC8C
al 00CC80 .Label_CC80
al 00CC75 .Label_CC75
al 00CC68 .Label_CC68
al 00CC5C .Label_CC5C
al 00CC47 .Label_CC47
al 00CC3E .Label_CC3E
al 00CC5C .UpdateGameState8
al 00CC47 .InitGame_3
al 00CC3E .UpdateGameState6
al 00CC23 .Label_CC23
al 00CC42 .Label_CC42
al 00CC42 .UpdateGameState7
al 00CC2C .Label_CC2C
al 00CC26 .Label_CC26
al 00CC10 .Label_CC10
al 00CC02 .Label_CC02
al 00CBDE .Label_CBDE
al 00CBD7 .Label_CBD7
al 00CBD7 .UpdatePlayerPosition_3
al 00CBCA .Label_CBCA
al 00CBCE .Label_CBCE
al 00CBCC .Label_CBCC
al 00CBCC .UpdateGameState5
al 00CBC3 .Label_CBC3
al 00CB9F .Label_CB9F
al 00CB94 .Label_CB94
al 00CB89 .Label_CB89
al 00CB73 .Label_CB73
al 00CB94 .UpdateGameState4_3
al 00CB89 .CheckAnswer4
al 00CB73 .UpdatePlayerScore
al 00CB60 .Label_CB60
al 00CB44 .Label_CB44
al 00CB44 .UpdateGameState3_3
al 00CB6D .Label_CB6D
al 00CB3E .Label_CB3E
al 00CB26 .Label_CB26
al 00CB26 .CheckAnswer3_3
al 00CB21 .Label_CB21
al 00CB17 .Label_CB17
al 00CB17 .UpdateGameState2_3
al 00CB11 .Label_CB11
al 00CB09 .Label_CB09
al 00CB14 .Label_CB14
al 00CAF7 .Label_CAF7
al 00CAF7 .UpdateScore3
al 00CAEE .Label_CAEE
al 00CAD3 .Label_CAD3
al 00CAC6 .Label_CAC6
al 00CABA .Label_CABA
al 00CAC7 .Label_CAC7
al 00CA99 .Label_CA99
al 00CA99 .UpdateScore2_1
al 00CA98 .Label_CA98
al 00CA86 .Label_CA86
al 00CA7D .Label_CA7D
al 00CA86 .UpdateScore_3
al 00CA7D .CheckAnswer3_1
al 00CA7B .Label_CA7B
al 00CA85 .Label_CA85
al 00CA6D .Label_CA6D
@@ -926,9 +926,9 @@ al 00CA58 .Label_CA58
al 00CA59 .Label_CA59
al 00CA5A .Label_CA5A
al 00CA5B .Label_CA5B
al 00CA43 .Label_CA43
al 00CA43 .CheckAnswer2
al 00CA41 .Label_CA41
al 00CA37 .Label_CA37
al 00CA37 .CheckAnswer
al 00CA36 .Label_CA36
al 00CA10 .Label_CA10
al 00CA0B .Label_CA0B
@@ -949,10 +949,10 @@ al 00C98C .Label_C98C
al 00C931 .Label_C931
al 00C98F .Label_C98F
al 00C926 .Label_C926
al 00C911 .Label_C911
al 00C8E2 .Label_C8E2
al 00C911 .CheckButtonPress
al 00C8E2 .CheckGameState2
al 00C8E1 .Label_C8E1
al 00C8BB .Label_C8BB
al 00C8BB .UpdateGameState2_1
al 00C8B5 .Label_C8B5
al 00C8C7 .Label_C8C7
al 00C8A3 .Label_C8A3
@@ -960,35 +960,35 @@ al 00C8B8 .Label_C8B8
al 00C8D8 .Label_C8D8
al 00C888 .Label_C888
al 00C889 .Label_C889
al 00C8DB .Label_C8DB
al 00C8DB .UpdateGameState3_1
al 00C87B .Label_C87B
al 00C872 .Label_C872
al 00C866 .Label_C866
al 00C866 .CheckController
al 00C85C .Label_C85C
al 00C83F .Label_C83F
al 00C83F .UpdateSpritePosition
al 00C861 .Label_C861
al 00C833 .Label_C833
al 00C814 .Label_C814
al 00C814 .UpdatePlayerPosition_1
al 00C80F .Label_C80F
al 00C7F3 .Label_C7F3
al 00C7F1 .Label_C7F1
al 00C7F3 .CheckLevelComplete2
al 00C7F1 .CheckLevelComplete
al 00C7DC .Label_C7DC
al 00C7CF .Label_C7CF
al 00C7C3 .Label_C7C3
al 00C7C3 .UpdateGameState
al 00C7B5 .Label_C7B5
al 00C79B .Label_C79B
al 00C797 .Label_C797
al 00C79B .InitLevel2
al 00C797 .InitLevel
al 00C794 .Label_C794
al 00C72D .Label_C72D
al 00C729 .Label_C729
al 00C723 .Label_C723
al 00C71F .Label_C71F
al 00C707 .Label_C707
al 00C6F9 .Label_C6F9
al 00C6EC .Label_C6EC
al 00C729 .InitSprites_3
al 00C723 .UpdatePPUMask
al 00C71F .UpdateSprites2_4
al 00C707 .UpdateSprites2_3
al 00C6F9 .InitSpriteData
al 00C6EC .ClearZeropage_3
al 00C6DD .Label_C6DD
al 00C6E1 .Label_C6E1
al 00C6D7 .Label_C6D7
al 00C6D7 .UpdateSprites4
al 00C6E2 .Label_C6E2
al 00C6C8 .Label_C6C8
al 00C6B7 .Label_C6B7
@@ -1002,34 +1002,34 @@ al 00C67E .Label_C67E
al 00C66B .Label_C66B
al 00C689 .Label_C689
al 00C67F .Label_C67F
al 00C656 .Label_C656
al 00C656 .UpdateSprites3_1
al 00C64C .Label_C64C
al 00C634 .Label_C634
al 00C632 .Label_C632
al 00C609 .Label_C609
al 00C609 .UpdateSprites2_1
al 00C5EB .Label_C5EB
al 00C5D7 .Label_C5D7
al 00C5E3 .Label_C5E3
al 00C5C2 .Label_C5C2
al 00C5E4 .Label_C5E4
al 00C5E4 .UpdateSprites
al 00C5C3 .Label_C5C3
al 00C5A3 .Label_C5A3
al 00C574 .Label_C574
al 00C561 .Label_C561
al 00C559 .Label_C559
al 00C553 .Label_C553
al 00C541 .Label_C541
al 00C553 .InitPPU_3
al 00C541 .InitAPU
al 00C507 .Label_C507
al 00C52F .Label_C52F
al 00C53E .Label_C53E
al 00C535 .Label_C535
al 00C4DE .Label_C4DE
al 00C4A9 .NmiHandler
al 00C495 .Label_C495
al 00C48C .Label_C48C
al 00C47B .Label_C47B
al 00C475 .Label_C475
al 00C495 .ClearSpriteRAM
al 00C48C .InitSprites_1
al 00C47B .InitPPU_1
al 00C475 .MainGameLoop
al 00C460 .Label_C460
al 00C439 .Label_C439
al 00C428 .Label_C428
al 00C439 .ClearZeropage_1
al 00C428 .WaitVBlank_1
al 00C41E .Reset