Ice Climber (JE): Pass 2 complete

- 6,113 instructions (74.7% code), 237 semantic labels, 157 zero-page aliases
- BYTE-IDENTICAL build verified
- Key routines: Reset, NmiHandler, MainGameLoop, InitPPU, InitSprites, UpdateSprites
- 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:35:05 -04:00
1 parent 1b0682042f
commit edabbd9af6
6 files changed
+1460 -260

No files matched your search

+74 -74
View File
@@ -176,7 +176,7 @@ al 00F03B .Label_F03B
al 00EFF3 .Label_EFF3
al 00EFEC .Label_EFEC
al 00EFDF .Label_EFDF
al 00EFD3 .Label_EFD3
al 00EFD3 .UpdateMusicChannel19
al 00EFCB .Label_EFCB
al 00EFE1 .Label_EFE1
al 00EFB6 .Label_EFB6
@@ -445,10 +445,10 @@ al 00DDBD .Label_DDBD
al 00DDB6 .Label_DDB6
al 00DDA9 .Label_DDA9
al 00DDA1 .Label_DDA1
al 00DD8F .Label_DD8F
al 00DD8F .UpdateSound26_13
al 00DD91 .Label_DD91
al 00DD94 .Label_DD94
al 00DD75 .Label_DD75
al 00DD75 .UpdateSound26_11
al 00DD97 .Label_DD97
al 00DD50 .Label_DD50
al 00DD24 .Label_DD24
@@ -482,7 +482,7 @@ al 00DBFD .Label_DBFD
al 00DC56 .Label_DC56
al 00DBCB .Label_DBCB
al 00DBB4 .Label_DBB4
al 00DBB6 .Label_DBB6
al 00DBB6 .UpdateSound24_1
al 00DBB0 .Label_DBB0
al 00DBAD .Label_DBAD
al 00DBA2 .Label_DBA2
@@ -657,7 +657,7 @@ al 00D2F9 .Label_D2F9
al 00D2F8 .Label_D2F8
al 00D2D9 .Label_D2D9
al 00D2D2 .Label_D2D2
al 00D2CB .Label_D2CB
al 00D2CB .UpdateSound12_4
al 00D2C7 .Label_D2C7
al 00D2BC .Label_D2BC
al 00D2A8 .Label_D2A8
@@ -692,12 +692,12 @@ al 00D17B .Label_D17B
al 00D16A .Label_D16A
al 00D171 .Label_D171
al 00D151 .Label_D151
al 00D160 .Label_D160
al 00D160 .UpdateSound6
al 00D143 .Label_D143
al 00D133 .Label_D133
al 00D127 .Label_D127
al 00D123 .Label_D123
al 00D117 .Label_D117
al 00D117 .UpdateSound4_11
al 00D126 .Label_D126
al 00D111 .Label_D111
al 00D0F4 .Label_D0F4
@@ -792,26 +792,26 @@ al 00CC1F .Label_CC1F
al 00CC05 .Label_CC05
al 00CBAF .Label_CBAF
al 00CBA9 .Label_CBA9
al 00CB9D .Label_CB9D
al 00CB9D .UpdateSprites5_4
al 00CB9C .Label_CB9C
al 00CB8E .Label_CB8E
al 00CB8C .Label_CB8C
al 00CB81 .Label_CB81
al 00CB78 .Label_CB78
al 00CB8E .UpdateSprites4_6
al 00CB8C .UpdateSprites4_7
al 00CB81 .UpdateSprites2_12
al 00CB78 .UpdateSprites_4
al 00CB64 .Label_CB64
al 00CB61 .Label_CB61
al 00CB5E .Label_CB5E
al 00CB54 .Label_CB54
al 00CB3E .Label_CB3E
al 00CB35 .Label_CB35
al 00CB35 .UpdateController2_4
al 00CB2D .Label_CB2D
al 00CB21 .Label_CB21
al 00CB02 .Label_CB02
al 00CB00 .Label_CB00
al 00CAED .Label_CAED
al 00CB00 .UpdateController
al 00CAED .InitSprites3
al 00CAE6 .Label_CAE6
al 00CAD8 .Label_CAD8
al 00CACE .Label_CACE
al 00CACE .InitSprites_4
al 00CAA4 .Label_CAA4
al 00CAB4 .Label_CAB4
al 00CAC0 .Label_CAC0
@@ -822,24 +822,24 @@ al 00CA6B .Label_CA6B
al 00CA94 .Label_CA94
al 00CAC1 .Label_CAC1
al 00CA61 .Label_CA61
al 00CA4C .Label_CA4C
al 00CA44 .Label_CA44
al 00CA40 .Label_CA40
al 00CA4C .UpdateSprites13
al 00CA44 .UpdateSprites12
al 00CA40 .UpdateSprites11
al 00CA3D .Label_CA3D
al 00CA36 .Label_CA36
al 00CA33 .Label_CA33
al 00CA36 .UpdateSprites10
al 00CA33 .UpdateSprites9
al 00CA2C .Label_CA2C
al 00CA29 .Label_CA29
al 00CA1A .Label_CA1A
al 00CA29 .UpdateSprites8
al 00CA1A .UpdateSprites7_3
al 00CA17 .Label_CA17
al 00CA03 .Label_CA03
al 00CA01 .Label_CA01
al 00CA0B .Label_CA0B
al 00C9F8 .Label_C9F8
al 00C9F8 .UpdateSprites7_1
al 00C9EF .Label_C9EF
al 00C9F3 .Label_C9F3
al 00C9E2 .Label_C9E2
al 00C9D7 .Label_C9D7
al 00C9D7 .UpdateSprites6
al 00C9D6 .Label_C9D6
al 00C9C2 .Label_C9C2
al 00C9BB .Label_C9BB
@@ -847,46 +847,46 @@ al 00C977 .Label_C977
al 00C99A .Label_C99A
al 00C995 .Label_C995
al 00C963 .Label_C963
al 00C94B .Label_C94B
al 00C94B .UpdateSprites5_1
al 00C92B .Label_C92B
al 00C94A .Label_C94A
al 00C8EE .Label_C8EE
al 00C8E0 .Label_C8E0
al 00C8EE .UpdateSprites4_5
al 00C8E0 .UpdateSprites3_6
al 00C8D9 .Label_C8D9
al 00C8BF .Label_C8BF
al 00C8A4 .Label_C8A4
al 00C89A .Label_C89A
al 00C891 .Label_C891
al 00C883 .Label_C883
al 00C868 .Label_C868
al 00C8A4 .UpdateSprites2_11
al 00C89A .UpdateSprites2_10
al 00C891 .ClearSpriteRAM
al 00C883 .InitSprites2_1
al 00C868 .UpdateSprites2_9
al 00C853 .Label_C853
al 00C83D .Label_C83D
al 00C83D .UpdateSprites2_8
al 00C829 .Label_C829
al 00C821 .Label_C821
al 00C81D .Label_C81D
al 00C821 .InitGameState
al 00C81D .GameLoopEntry_5
al 00C813 .Label_C813
al 00C7FD .Label_C7FD
al 00C7F7 .Label_C7F7
al 00C7F5 .Label_C7F5
al 00C7F5 .UpdateSprites4_4
al 00C7CF .Label_C7CF
al 00C7CA .Label_C7CA
al 00C7C5 .Label_C7C5
al 00C7C1 .Label_C7C1
al 00C7C1 .UpdateSprites4_3
al 00C7A5 .Label_C7A5
al 00C77B .Label_C77B
al 00C777 .Label_C777
al 00C777 .UpdateSprites4_1
al 00C76F .Label_C76F
al 00C759 .Label_C759
al 00C73D .Label_C73D
al 00C728 .Label_C728
al 00C726 .Label_C726
al 00C73D .UpdateSprites3_5
al 00C728 .UpdateSprites2_7
al 00C726 .CheckZp55
al 00C718 .Label_C718
al 00C6FB .Label_C6FB
al 00C6FB .UpdateSprites3_4
al 00C67F .Label_C67F
al 00C664 .Label_C664
al 00C626 .Label_C626
al 00C63A .Label_C63A
al 00C620 .Label_C620
al 00C620 .CheckZp14
al 00C60F .Label_C60F
al 00C608 .Label_C608
al 00C5F9 .Label_C5F9
@@ -894,10 +894,10 @@ al 00C5FC .Label_C5FC
al 00C5EF .Label_C5EF
al 00C5ED .Label_C5ED
al 00C5DB .Label_C5DB
al 00C5D3 .Label_C5D3
al 00C5D3 .UpdateSprites3_3
al 00C5C9 .Label_C5C9
al 00C5A9 .Label_C5A9
al 00C5A7 .Label_C5A7
al 00C5A7 .UpdateSprites2_5
al 00C5B0 .Label_C5B0
al 00C5D2 .Label_C5D2
al 00C597 .Label_C597
@@ -906,17 +906,17 @@ al 00C586 .Label_C586
al 00C582 .Label_C582
al 00C579 .Label_C579
al 00C553 .Label_C553
al 00C542 .Label_C542
al 00C542 .UpdateSprites_3
al 00C508 .Label_C508
al 00C4F6 .Label_C4F6
al 00C4E8 .Label_C4E8
al 00C4D9 .Label_C4D9
al 00C4D7 .Label_C4D7
al 00C4D7 .InitSprites_3
al 00C4CD .Label_C4CD
al 00C4C8 .Label_C4C8
al 00C4C0 .Label_C4C0
al 00C44A .Label_C44A
al 00C437 .Label_C437
al 00C4C0 .UpdateSprites3_1
al 00C44A .UpdateSprites2_4
al 00C437 .CheckZp34
al 00C436 .Label_C436
al 00C39F .Label_C39F
al 00C38D .Label_C38D
@@ -925,17 +925,17 @@ al 00C2CE .Label_C2CE
al 00C2C1 .Label_C2C1
al 00C2C4 .Label_C2C4
al 00C2B0 .Label_C2B0
al 00C2AB .Label_C2AB
al 00C2AB .UpdateSprites2_3
al 00C279 .Label_C279
al 00C274 .Label_C274
al 00C253 .Label_C253
al 00C23F .Label_C23F
al 00C23B .Label_C23B
al 00C218 .Label_C218
al 00C218 .UpdateSprites_1
al 00C207 .Label_C207
al 00C1FE .Label_C1FE
al 00C21D .Label_C21D
al 00C21A .Label_C21A
al 00C21A .UpdateSprites2_1
al 00C1F0 .Label_C1F0
al 00C1D7 .Label_C1D7
al 00C1D0 .Label_C1D0
@@ -946,28 +946,28 @@ al 00C17F .Label_C17F
al 00C182 .Label_C182
al 00C1D6 .Label_C1D6
al 00C166 .Label_C166
al 00C150 .Label_C150
al 00C14E .Label_C14E
al 00C148 .Label_C148
al 00C141 .Label_C141
al 00C150 .CopySprites
al 00C14E .InitSprites_1
al 00C148 .WaitVBlankFrame2
al 00C141 .UpdateGameState2_5
al 00C135 .Label_C135
al 00C10A .Label_C10A
al 00C0FA .Label_C0FA
al 00C10A .UpdateGameState6
al 00C0FA .UpdateGameState3_1
al 00C0F3 .Label_C0F3
al 00C138 .Label_C138
al 00C100 .Label_C100
al 00C103 .Label_C103
al 00C138 .UpdateGameState2_4
al 00C100 .UpdateGameState4
al 00C103 .UpdateGameState5
al 00C11A .Label_C11A
al 00C126 .Label_C126
al 00C0D3 .Label_C0D3
al 00C095 .Label_C095
al 00C083 .Label_C083
al 00C126 .GameLoopEntry_4
al 00C0D3 .GameStateUpdate
al 00C095 .NmiFrameUpdate2
al 00C083 .NmiFrameUpdate
al 00C076 .NmiHandler
al 00C070 .Label_C070
al 00C06D .Label_C06D
al 00C05E .Label_C05E
al 00C058 .Label_C058
al 00C041 .Label_C041
al 00C024 .Label_C024
al 00C01E .Label_C01E
al 00C070 .GameLoopEntry_1
al 00C06D .MainGameLoop
al 00C05E .InitAPU_3
al 00C058 .InitAPU_1
al 00C041 .ClearZeropage
al 00C024 .WaitVBlank2_1
al 00C01E .WaitVBlank_1
al 00C014 .Reset