Files
disasm/_wip/MUSCLE (U)/copilot/reconstructed.lbl
T
tmerritt 4c644d2a20 Pass 3 for NES PowerPad Test Card (U): name all data tables and VramWrite streams
- Decoded the VramWrite ($E1CC) stream format: <addr hi> <addr lo> <count> <bytes>, $00 terminator
- Named all 9 payload streams ($E4CC-$E7C2, no gaps/overlaps) plus VramWriteSourcePointerTable at $F000
- Split PadBitTableLives into Player1TileTable ($E4B4) and Player2TileTable ($E4C0), 12 entries each (Y=0..11)
- Decoded CHR font (digits $30-$39, letters $3A-$52, space $5F; 'W' missing from the A-Z run)
  and recovered on-screen text including 'PRESS A TO TEST SIDE-A' / 'SIDE-B'
- Documented that the 16 KiB PRG is two byte-identical 8 KiB halves; $C000 copy is dead
- Documented 7 unreached subroutines inside the live code region (kept as .byte per Pass-1 policy)
- Fixed a stray duplicate sentence and stale _wip paths in root OVERVIEW.md

Byte-identical ROM verified.
2026-10-16 20:24:23 -04:00

775 lines
31 KiB
Plaintext

al 00BFFB .InterruptVectors
al 00BFA0 .SoundSequenceAndLevelData
al 00BF98 .VramBlockSourceLowBytes
al 00BF90 .VramBlockByteCounts
al 00BED0 .StageDataTail
al 00BEC8 .InitialOamTiles
al 00BEC0 .InitialOamAttributes
al 00BD2A .StageNametableAndObjectData_2
al 00BD28 .StageDataPointerLow
al 00B971 .StageNametableAndObjectData_1
al 00B91B .StageDataFiller
al 00B0FB .StageNametableAndObjectData
al 00B0F7 .ApuChannelEnableBitsClear
al 00B0F3 .ApuChannelEnableBitsSet
al 00B0E3 .SoundNoteDurationTable
al 00B0CB .SoundNotePeriodTable
al 00B0B3 .LoadSoundSequenceStep
al 00B0BB .LoadSoundSequenceStep_OnCarrySet_B0BB
al 00B0C6 .DecrementSustainCounter
al 00B0A9 .HandleSustainCounter
al 00B08E .AdvanceSoundSequenceStepAlt
al 00B08C .AdvanceSoundSequenceStep
al 00B083 .WriteApuControlRegister
al 00B096 .ReadLoopFlag
al 00B09D .HandleNoteTerminator
al 00B095 .ReturnFromSoundCommand
al 00B06C .ApplySoundCommand
al 00B069 .WriteApuEnable_OnNegative_B069
al 00B062 .WriteApuEnable
al 00B05D .BuildApuChannelMask
al 00B058 .ReadNoteDuration_OnZero_B058
al 00B049 .StoreNoteDuration
al 00B059 .StoreShortNoteDuration
al 00B03A .ReadNoteDuration
al 00B037 .ComputeTonePeriod_OnCarrySet_B037
al 00B007 .WriteToneRegisters
al 00B000 .ShiftNoteTableIndex
al 00B028 .ComputeTonePeriod_OnCarrySet_B028
al 00B036 .ComputeTonePeriod_OnCarrySet_B036
al 00B029 .WriteFixedToneRegisters
al 00AFD9 .ComputeTonePeriod
al 00AFD5 .ComputeEnvelopeMask_OnZero_AFD5
al 00AFC5 .ComputeEnvelopeMask
al 00AFAB .AdvanceSoundSequencePointer
al 00AF6B .RebuildApuEnableMask
al 00AF69 .WriteSoundChannelState
al 00AF55 .AdvanceSoundChannelNote
al 00AF68 .UpdateSoundChannel_JoinBranchPaths_AF68
al 00AF73 .StartSoundChannelNote
al 00AF43 .UpdateSoundChannel
al 00AF40 .UpdateAllSoundChannels
al 00AF3B .UpdateSoundFrame
al 00AF37 .UnreachableSoundInitIsland
al 00AF25 .InitializeSoundEngine
al 00AF24 .ComputeEdgeOverlapBits_JoinBranchPaths_AF24
al 00AF01 .ComputeEdgeOverlapBits_JoinBranchPaths_AF01
al 00AEE3 .ComputeEdgeOverlapBits_OnZero_AEE3
al 00AEEA .ComputeEdgeOverlapBits_JoinBranchPaths_AEEA
al 00AEDC .ComputeEdgeOverlapBits_JoinBranchPaths_AEDC
al 00AEBE .ComputeEdgeOverlapBits_OnNonzero_AEBE
al 00AECA .ComputeEdgeOverlapBits_JoinBranchPaths_AECA
al 00AEFA .ComputeEdgeOverlapBits_OnZero_AEFA
al 00AEE9 .ComputeEdgeOverlapBits_JoinBranchPaths_AEE9
al 00AE9B .ComputeEdgeOverlapBits
al 00AE92 .SetDefaultOverlapBits_OnNonzero_AE92
al 00AE90 .SetDefaultOverlapBits_OnNegative_AE90
al 00AE96 .SetDefaultOverlapBits_OnNonzero_AE96
al 00AE82 .SetDefaultOverlapBits_OnNonzero_AE82
al 00AE80 .SetDefaultOverlapBits_OnNegative_AE80
al 00AE88 .SetDefaultOverlapBits_OnCarrySet_AE88
al 00AE72 .SetDefaultOverlapBits_OnCarrySet_AE72
al 00AE63 .SetDefaultOverlapBits_OnCarrySet_AE63
al 00AE53 .SetDefaultOverlapBits_OnNonzero_AE53
al 00AE51 .SetDefaultOverlapBits_OnNonzero_AE51
al 00AE35 .AnimationFrameCollisionBits
al 00AE45 .SetDefaultOverlapBits
al 00AE11 .ComputePlayerOverlapBits_OnNonzero_AE11
al 00AE03 .ComputePlayerOverlapBits_OnNonzero_AE03
al 00AE01 .ComputePlayerOverlapBits_OnCarrySet_AE01
al 00AE56 .SetDefaultOverlapBits_OnCarryClear_AE56
al 00AE16 .ComputePlayerOverlapBits_OnZero_AE16
al 00AE0B .ComputePlayerOverlapBits_OnNegative_AE0B
al 00AE0F .ComputePlayerOverlapBits_JoinBranchPaths_AE0F
al 00AE15 .ComputePlayerOverlapBits_OnCarryClear_AE15
al 00ADAF .ComputePlayerOverlapBits_OnNonzero_ADAF
al 00ADAD .ComputePlayerOverlapBits_OnNonnegative_ADAD
al 00ADB1 .ComputePlayerOverlapBits_OnCarryClear_ADB1
al 00ADC2 .ComputePlayerOverlapBits_JoinBranchPaths_ADC2
al 00AD8B .ComputePlayerOverlapBits_OnZero_AD8B
al 00AD73 .ComputePlayerOverlapBits_OnNonzero_AD73
al 00AD71 .ComputePlayerOverlapBits_OnCarrySet_AD71
al 00AD7A .ComputePlayerOverlapBits_JoinBranchPaths_AD7A
al 00AD84 .ComputePlayerOverlapBits_OnCarrySet_AD84
al 00AD94 .ComputePlayerOverlapBits_JoinBranchPaths_AD94
al 00AD91 .ComputePlayerOverlapBits_OnCarrySet_AD91
al 00AD36 .ComputePlayerOverlapBits
al 00AD19 .ComputeCollisionBits
al 00AD01 .WriteCompressedVramBlocks_OnNonzero_AD01
al 00ACF5 .WriteCompressedVramBlocks
al 00ACE5 .WithRenderingEnabled
al 00ACD7 .AdvanceCountWord
al 00ACC9 .AdvanceDestinationWord
al 00ACBD .VramRunFillValues
al 00ACB5 .AdvanceSourceByte_OnNonzero_ACB5
al 00ACA1 .AdvanceSourceByte_OnZero_ACA1
al 00ACA7 .WriteVramRunToken
al 00AC9E .AdvanceSourceByte_OnCarrySet_AC9E
al 00AC88 .AdvanceSourceByte
al 00AC96 .DecodeVramStreamToken
al 00AC82 .WriteCompressedVramStream
al 00AC78 .SetPpuAddressHighAnd40
al 00AC62 .LoadAttributeStream
al 00AC56 .WriteAttributeBlock_OnNonzero_AC56
al 00AC4C .WriteAttributeBlock
al 00AC43 .FillAttributeBlock
al 00AC3B .SetLevelVramStream
al 00AC35 .LevelVramWriterTable
al 00AC0D .SelectLevelVramWriter
al 00AC03 .ClearOamShadow_OnNonzero_AC03
al 00ABFC .ClearOamShadow
al 00ABF7 .ShiftAccumulatorRight4
al 00ABE4 .ApplyPpuScrollAndControl
al 00ABC4 .UploadPalette_OnCarryClear_ABC4
al 00ABB1 .UploadPalette
al 00ABA8 .FillShadowOamBlock_OnNonnegative_ABA8
al 00ABA3 .FillShadowOamBlock
al 00AB98 .LoadShadowOamBlock
al 00AB7D .CopyPaletteFromTable_OnNonnegative_AB7D
al 00AB68 .CopyPaletteFromTable
al 00AB14 .StandaloneBytecodeProgram_3
al 00AB0B .ClearNametablePattern_OnNonzero_AB0B
al 00AAFF .ClearNametablePattern_OnNonzero_AAFF
al 00AAEF .ClearNametablePattern
al 00AADC .DisableRenderingAndClearNametables
al 00AACD .EnableRendering
al 00AACC .StoreControllerButtonBits_OnZero_AACC
al 00AAC0 .StoreControllerButtonBits_OnZero_AAC0
al 00AAB8 .StoreControllerButtonBits
al 00AAAE .ReadControllerShiftRegister_OnCarryClear_AAAE
al 00AAB4 .ReadControllerShiftRegister_OnCarrySet_AAB4
al 00AAA8 .ReadControllerShiftRegister_OnCarrySet_AAA8
al 00AAA1 .ReadControllerShiftRegister_OnCarrySet_AAA1
al 00AA9D .ReadControllerShiftRegister_OnCarrySet_AA9D
al 00AA98 .ReadControllerShiftRegister_OnZero_AA98
al 00AA82 .ReadControllerShiftRegister_JoinBranchPaths_AA82
al 00AA69 .ReadControllerShiftRegister_OnNonzero_AA69
al 00AA63 .ReadControllerShiftRegister
al 00AA56 .ReadControllers
al 00AA55 .ToggleScrollRegionFlip_OnCarrySet_AA55
al 00A9E9 .ToggleScrollRegionFlip_OnNonzero_A9E9
al 00A9D8 .ToggleScrollRegionFlip
al 00A9C9 .UpdateObjectState_OnCarrySet_A9C9
al 00A9FF .BuildObjectList
al 00A9EA .ToggleScrollRegionFlip_OnCarrySet_A9EA
al 00A9D6 .UpdateObjectState_OnNegative_A9D6
al 00A9CD .UpdateObjectState_OnZero_A9CD
al 00A9AB .UpdateObjectState
al 00A9A4 .DecrementObjectCounter_OnZero_A9A4
al 00A99E .DecrementObjectCounter
al 00A9AA .DecrementObjectCounter_JoinBranchPaths_A9AA
al 00A992 .UpdateObjectTimer
al 00A982 .UpdateObjectAnimation_OnCarryClear_A982
al 00A991 .UpdateObjectAnimation_JoinBranchPaths_A991
al 00A952 .UpdateObjectAnimation
al 00A949 .UpdateObjectAnimations
al 00A936 .TestObjectActive_OnNonzero_A936
al 00A916 .TestObjectActive_OnNonnegative_A916
al 00A8F9 .TestObjectActive_OnNonzero_A8F9
al 00A8E9 .TestObjectActive
al 00A8D1 .AdvanceObjectFrame
al 00A884 .SetObjectFlags
al 00A89D .SetObjectFlags_OnCarryClear_A89D
al 00A862 .UpdateObjectSprite_OnZero_A862
al 00A856 .UpdateObjectSprite_OnCarrySet_A856
al 00A842 .UpdateObjectSprite_OnCarryClear_A842
al 00A834 .UpdateObjectSprite
al 00A833 .ClearScrollLatchAlt_OnCarryClear_A833
al 00A82F .ClearScrollLatchAlt
al 00A7E1 .CheckObjectScroll_OnNonzero_A7E1
al 00A7FD .CheckObjectScroll_JoinBranchPaths_A7FD
al 00A7BF .CheckObjectScroll_OnNonnegative_A7BF
al 00A7B8 .CheckObjectScroll_OnZero_A7B8
al 00A7E8 .CheckObjectScroll_OnNonzero_A7E8
al 00A7CA .CheckObjectScroll_OnNegative_A7CA
al 00A800 .CheckObjectScroll_OnNonnegative_A800
al 00A7B0 .CheckObjectScroll_OnNonzero_A7B0
al 00A79F .CheckObjectScroll
al 00A79C .UpdateObjectCollisions_OnZero_A79C
al 00A77F .UpdateObjectCollisions_OnCarryClear_A77F
al 00A773 .UpdateObjectCollisions_OnCarryClear_A773
al 00A78F .UpdateObjectCollisions_JoinBranchPaths_A78F
al 00A75D .UpdateObjectCollisions_OnNonzero_A75D
al 00A758 .UpdateObjectCollisions_OnNonzero_A758
al 00A745 .UpdateObjectCollisions_OnNonzero_A745
al 00A73D .UpdateObjectCollisions_OnNonzero_A73D
al 00A79B .UpdateObjectCollisions_OnZero_A79B
al 00A714 .UpdateObjectCollisions_OnNonzero_A714
al 00A70D .UpdateObjectCollisions_OnNonzero_A70D
al 00A729 .UpdateObjectCollisions_OnCarryClear_A729
al 00A728 .UpdateObjectCollisions_OnNonzero_A728
al 00A6F8 .UpdateObjectCollisions
al 00A6DF .UpdateObjectListEntry_OnNonzero_A6DF
al 00A6EB .UpdateObjectListEntry_OnZero_A6EB
al 00A6BE .UpdateObjectListEntry_OnNegative_A6BE
al 00A6EF .UpdateObjectListEntry_OnZero_A6EF
al 00A695 .UpdateObjectListEntry
al 00A68E .UpdateObjectList
al 00A67F .SetSoundSequenceChannel4_OnZero_A67F
al 00A660 .SetSoundSequenceChannel4
al 00A618 .StageDescriptorData
al 00A5F4 .StageDescriptorPointerTable
al 00A5DF .WriteNametableBytes_OnNonnegative_A5DF
al 00A5DD .WriteNametableBytes
al 00A52D .AdvanceObjectSlot_OnCarrySet_A52D
al 00A532 .AdvanceObjectSlot_OnCarryClear_A532
al 00A583 .AdvanceObjectSlot_OnNegative_A583
al 00A522 .AdvanceObjectSlot_OnNonzero_A522
al 00A51B .AdvanceObjectSlot
al 00A512 .UpdateObjectSlots
al 00A508 .LookupObjectIndex
al 00A4FF .FlipObjectIndex
al 00A4F2 .SetSoundSequenceChannel2Alt
al 00A4F1 .TestSoundChannelState_OnNonzero_A4F1
al 00A4DF .TestSoundChannelState
al 00A4C7 .LoadActorConfigBlock
al 00A4C2 .LoadActorFacingFlag_JoinBranchPaths_A4C2
al 00A4BA .LoadActorFacingFlag_OnCarryClear_A4BA
al 00A4B5 .LoadActorFacingFlag_OnNonzero_A4B5
al 00A4AA .LoadActorFacingFlag
al 00A49F .StoreActorConfigResultAlt
al 00A49B .LoadActorConfigAlt_OnZero_A49B
al 00A4A5 .StoreActorConfigResultAlt_OnZero_A4A5
al 00A48D .LoadActorConfigAlt_OnZero_A48D
al 00A482 .LoadActorConfigAlt
al 00A46F .StoreActorConfigResult
al 00A46D .CompareActorConfigValue_OnNonzero_A46D
al 00A464 .CompareActorConfigValue_OnZero_A464
al 00A459 .CompareActorConfigValue_OnZero_A459
al 00A44E .CompareActorConfigValue_OnZero_A44E
al 00A475 .StoreActorConfigResult_JoinBranchPaths_A475
al 00A435 .CompareActorConfigValue
al 00A428 .ReadActorConfigByte_OnCarrySet_A428
al 00A430 .ReadActorConfigByte_JoinBranchPaths_A430
al 00A423 .ReadActorConfigByte_OnNonzero_A423
al 00A418 .ReadActorConfigByte_OnZero_A418
al 00A40A .ReadActorConfigByte_OnCarrySet_A40A
al 00A40D .ReadActorConfigByte_OnNonzero_A40D
al 00A3E9 .ReadActorConfigByte_OnCarrySet_A3E9
al 00A3F1 .ReadActorConfigByte_OnNonzero_A3F1
al 00A3FA .ReadActorConfigByte_OnNonzero_A3FA
al 00A406 .ReadActorConfigByte_JoinBranchPaths_A406
al 00A3C9 .ReadActorConfigByte_OnCarrySet_A3C9
al 00A3A5 .ReadActorConfigByte_JoinBranchPaths_A3A5
al 00A3B1 .ReadActorConfigByte_OnNonzero_A3B1
al 00A388 .ReadActorConfigByte_JoinBranchPaths_A388
al 00A338 .ReadActorConfigByte
al 00A32C .StoreActorControlByte
al 00A316 .StoreActorPaletteByte
al 00A305 .LoadActorConfigFields_OnZero_A305
al 00A2F1 .LoadActorConfigFields_OnNonzero_A2F1
al 00A2EB .LoadActorConfigFields_OnNegative_A2EB
al 00A30B .LoadActorConfigFields_OnNonzero_A30B
al 00A334 .StoreActorControlByte_OnZero_A334
al 00A32A .StoreActorPaletteByte_OnZero_A32A
al 00A2D8 .LoadActorConfigFields_OnZero_A2D8
al 00A2C9 .LoadActorConfigFields
al 00A2BD .CompareConfigValue_JoinBranchPaths_A2BD
al 00A2C8 .ReturnFromConfigLoad
al 00A298 .CompareConfigValue
al 00A28D .LoadActorConfigRecord_JoinBranchPaths_A28D
al 00A270 .LoadActorConfigRecord
al 00A261 .CopyConfigBytes_OnNonnegative_A261
al 00A25F .CopyConfigBytes
al 00A253 .ComputeActorConfigOffset
al 00A250 .LoadActorConfigByte
al 00A246 .RunActorScript_OnZero_A246
al 00A201 .RunActorScript_OnNonzero_A201
al 00A1F1 .RunActorScript_OnNonnegative_A1F1
al 00A1E3 .RunActorScript_OnNonnegative_A1E3
al 00A1C3 .RunActorScript_OnZero_A1C3
al 00A1A5 .RunActorScript_OnCarrySet_A1A5
al 00A17F .RunActorScript
al 00A179 .ResetBytecodePointers_OnCarryClear_A179
al 00A165 .ResetBytecodePointers_OnNonzero_A165
al 00A15D .ResetBytecodePointers
al 00A157 .ComputeActorTileRow_JoinBranchPaths_A157
al 00A14F .ComputeActorTileRow_OnNonnegative_A14F
al 00A12E .ComputeActorTileRow
al 00A122 .ResetBytecodeStateAlt_OnCarryClear_A122
al 00A105 .ResetBytecodeStateAlt_OnNonzero_A105
al 00A0FB .ResetBytecodeStateAlt
al 00A0F4 .AdvanceBytecodeProgram
al 00A0EC .ResetBytecodeAccumulatorAlt_OnCarryClear_A0EC
al 00A0CE .ResetBytecodeAccumulatorAlt_OnNonzero_A0CE
al 00A0C6 .ResetBytecodeAccumulatorAlt
al 00A0C2 .ResetBytecodeAccumulator_OnCarryClear_A0C2
al 00A0AD .ResetBytecodeAccumulator_OnNonzero_A0AD
al 00A0A5 .ResetBytecodeAccumulator
al 00A09F .ComputeBytecodeOffset_OnCarryClear_A09F
al 00A08B .ComputeBytecodeOffset_OnNonzero_A08B
al 00A085 .ComputeBytecodeOffset
al 00A07B .ProcessBytecodeOpcode_JoinBranchPaths_A07B
al 00A060 .ProcessBytecodeOpcode_OnCarrySet_A060
al 00A062 .ProcessBytecodeOpcode_JoinBranchPaths_A062
al 00A01D .ProcessBytecodeOpcode
al 00A012 .SubtractFromNametableValue_Return_A012
al 009FFA .AddToNametableValue_JumpNext_9FFA
al 009FEF .AddToNametableValue_Return_9FEF
al 009FD7 .MoveActorByOpcode_Continue_9FD7
al 009FD0 .MoveActorByOpcode_Continue_9FD0
al 009FC9 .MoveActorByOpcode_Continue_9FC9
al 00A002 .SubtractFromNametableValue
al 009FC2 .MoveActorByOpcode_Continue_9FC2
al 009FDF .AddToNametableValue
al 009FBB .MoveActorByOpcode_Return_9FBB
al 009FB8 .MoveActorByOpcode_OnNonzero_9FB8
al 009FAC .MoveActorByOpcode_OnCarryClear_9FAC
al 009FBA .MoveActorByOpcode_JoinBranchPaths_9FBA
al 009F83 .MoveActorByOpcode_JoinBranchPaths_9F83
al 009F7F .MoveActorByOpcode_JoinBranchPaths_9F7F
al 009F54 .MoveActorByOpcode
al 009F4B .UpdateActorMovement
al 009F2B .SecondaryBytecodeHandlerTable
al 009F2A .FlushNametableWrite_JoinBranchPaths_9F2A
al 009F14 .FlushNametableWrite
al 009EF4 .OamShadowTemplate
al 009E89 .QueueNametableWrite_OnNonnegative_9E89
al 009E87 .QueueNametableWrite_OnNonzero_9E87
al 009E7F .QueueNametableWrite
al 009E6E .UpdateActorFacing
al 009E6B .LoadActorTileIndex_OnNonzero_9E6B
al 009E69 .LoadActorTileIndex_OnCarryClear_9E69
al 009E65 .LoadActorTileIndex_OnCarryClear_9E65
al 009E50 .LoadActorTileIndex_OnNonzero_9E50
al 009E4B .LoadActorTileIndex_OnZero_9E4B
al 009E37 .LoadActorTileIndex_OnNonzero_9E37
al 009DD6 .SetActorBounds
al 009DD4 .CopyActorCoordinates_OnCarryClear_9DD4
al 009DD0 .CopyActorCoordinates_OnCarryClear_9DD0
al 009DBB .CopyActorCoordinates_OnNonzero_9DBB
al 009DB6 .CopyActorCoordinates_OnZero_9DB6
al 009E19 .LoadActorTileIndex_OnZero_9E19
al 009DA2 .CopyActorCoordinates_OnNonzero_9DA2
al 009DE6 .LoadActorTileIndex
al 009E02 .LoadActorTileIndex_OnCarrySet_9E02
al 009D61 .CopyActorCoordinates_OnCarryClear_9D61
al 009D39 .ResetBytecodeState_OnZero_9D39
al 009D4A .ResetBytecodeState_OnZero_9D4A
al 009D10 .ResetBytecodeState_OnNonzero_9D10
al 009D04 .ResetBytecodeState_OnNonnegative_9D04
al 009CE5 .ResetBytecodeState_OnCarryClear_9CE5
al 009D4E .CopyActorCoordinates
al 009CDB .ResetBytecodeState_OnCarryClear_9CDB
al 009D0D .ResetBytecodeState_OnCarrySet_9D0D
al 009CBB .ResetBytecodeState
al 009CAD .RunBytecodeProgram_Return_9CAD
al 009C8D .RunBytecodeProgram_OnCarryClear_9C8D
al 009C91 .RunBytecodeProgram_JoinBranchPaths_9C91
al 009C84 .RunBytecodeProgram_OnNonzero_9C84
al 009C73 .RunBytecodeProgram_JoinBranchPaths_9C73
al 009C66 .RunBytecodeProgram_OnCarryClear_9C66
al 009C71 .RunBytecodeProgram_OnZero_9C71
al 009C52 .RunBytecodeProgram_OnNonnegative_9C52
al 009C4C .RunBytecodeProgram_OnNonnegative_9C4C
al 009C2E .RunBytecodeProgram_OnNonnegative_9C2E
al 009C2C .RunBytecodeProgram_OnZero_9C2C
al 009BDD .RunBytecodeProgram_OnNonzero_9BDD
al 009BD9 .RunBytecodeProgram_OnNonzero_9BD9
al 009BB4 .RunBytecodeProgram_OnNonzero_9BB4
al 009BB0 .RunBytecodeProgram_OnNonzero_9BB0
al 009BF3 .RunBytecodeProgram_OnCarryClear_9BF3
al 009BA1 .RunBytecodeProgram_OnZero_9BA1
al 009B72 .RunBytecodeProgram_OnNonnegative_9B72
al 009B64 .RunBytecodeProgram_OnNonnegative_9B64
al 009B4C .RunBytecodeProgram_OnNonnegative_9B4C
al 009B25 .RunBytecodeProgram
al 009B18 .DispatchThroughPointer_OnNonzero_9B18
al 009B05 .DispatchThroughPointer
al 009B08 .DispatchThroughPointer_JoinBranchPaths_9B08
al 009AE8 .RunBytecodeInterpreter
al 009ACE .SpawnActorPairAlt_OnNonzero_9ACE
al 009AD3 .SpawnActorPairAlt_JoinBranchPaths_9AD3
al 009ABC .SpawnActorPairAlt_OnNonzero_9ABC
al 009AD8 .SpawnActorPairAlt_OnNonzero_9AD8
al 009A6B .SpawnActorPairAlt
al 009A4E .SpawnActorPair
al 009A3F .FlipActorFacing
al 009A2E .StoreActorCoordinatesAlt
al 009A36 .StoreActorCoordinatesAlt_OnNonnegative_9A36
al 009A24 .StoreActorCoordinates
al 009A02 .LookupActorTileIdAlt_OnCarryClear_9A02
al 0099E4 .LookupActorTileIdAlt
al 0099E2 .LookupActorTileId
al 0099D7 .SetSoundSequenceChannel2_OnNegative_99D7
al 0099B7 .SetSoundSequenceChannel2_JumpNext_99B7
al 0099B0 .SetSoundSequenceChannel2_Return_99B0
al 0099A3 .SetSoundSequenceChannel2
al 0099A0 .UpdateActorTileFromIndexAlt_OnNonzero_99A0
al 009994 .UpdateActorTileFromIndexAlt_OnNonzero_9994
al 009989 .UpdateActorTileFromIndexAlt_OnNonzero_9989
al 00997C .UpdateActorTileFromIndexAlt_JumpNext_997C
al 00996E .UpdateActorTileFromIndexAlt_JumpNext_996E
al 00994B .UpdateActorTileFromIndexAlt_JumpNext_994B
al 009918 .UpdateActorTileFromIndexAlt
al 009911 .UpdateActorTileFromIndex
al 009948 .UpdateActorTileFromIndexAlt_JoinBranchPaths_9948
al 0098E6 .ComputeActorLeftEdgeAlt2
al 0098D8 .TestActorValue_OnCarryClear_98D8
al 009903 .ComputeActorLeftEdgeAlt2_OnCarryClear_9903
al 0098F0 .ComputeActorLeftEdgeAlt2_OnNonzero_98F0
al 0098BE .TestActorValue_JoinBranchPaths_98BE
al 0098C1 .TestActorValue_OnNonzero_98C1
al 0098B7 .TestActorValue_OnNonzero_98B7
al 0098B0 .TestActorValue_JumpNext_98B0
al 0098A7 .TestActorValue_OnCarryClear_98A7
al 0098AD .TestActorValue_JoinBranchPaths_98AD
al 0098AA .TestActorValue_JoinBranchPaths_98AA
al 009875 .TestActorValue_OnCarryClear_9875
al 00986A .TestActorValue_Return_986A
al 00985F .TestActorValue
al 009858 .ComputeActorRightEdgeAt
al 00982A .ComputeActorLeftEdgeAt
al 00981C .TestAnimationSlot_OnCarryClear_981C
al 00984A .ComputeActorLeftEdgeAt_OnCarryClear_984A
al 009834 .ComputeActorLeftEdgeAt_OnNonzero_9834
al 009800 .TestAnimationSlot_JoinBranchPaths_9800
al 009802 .TestAnimationSlot_OnNonzero_9802
al 0097FC .TestAnimationSlot
al 0097FB .UpdateActorAnimation_OnZero_97FB
al 0097D5 .UpdateActorAnimation
al 0097C6 .SetActorAnimation61_OnNonzero_97C6
al 0097BC .SetActorAnimation63
al 0097C4 .SetActorAnimation61
al 0097C0 .SetActorAnimation62
al 0097A0 .MoveActorByStep_OnNonzero_97A0
al 00979A .MoveActorByStep_OnNonzero_979A
al 009766 .MoveActorByStep_OnCarryClear_9766
al 00975E .MoveActorByStep_Return_975E
al 00975D .MoveActorByStep_OnCarrySet_975D
al 009732 .MoveActorByStep
al 009731 .TestActorRange_OnCarrySet_9731
al 009729 .TestActorRange
al 009722 .ComputeActorRightEdgeAlt
al 0096F7 .ComputeActorLeftEdgeAlt
al 0096EE .TestActorCollisionFlag_OnCarryClear_96EE
al 009719 .ComputeActorLeftEdgeAlt_OnCarryClear_9719
al 009701 .ComputeActorLeftEdgeAlt_OnNonzero_9701
al 0096CC .TestActorCollisionFlag_OnZero_96CC
al 0096CE .TestActorCollisionFlag_OnZero_96CE
al 0096C8 .TestActorCollisionFlag
al 0096C2 .SetActorTileValue_Continue_96C2
al 0096BC .SetActorTileValue_JumpNext_96BC
al 0096B3 .SetActorTileValue_OnNonzero_96B3
al 0096AA .SetActorTileValue
al 0096B9 .SetActorTileValue_OnNegative_96B9
al 00969D .StoreActorTile_OnNonzero_969D
al 00969E .AdvanceActorCounter
al 0096A6 .AdvanceActorCounter_OnCarryClear_96A6
al 00968E .StoreActorTile_OnNonnegative_968E
al 009679 .StoreActorTile_OnNegative_9679
al 00966D .StoreActorTile_Return_966D
al 009667 .StoreActorTile
al 009664 .SetActorTileFromPalette_OnNonzero_9664
al 009653 .SetActorTileFromPalette
al 009644 .CompareActorToLimit_JumpNext_9644
al 00963E .CompareActorToLimit_OnNonnegative_963E
al 00963C .CompareActorToLimit_OnCarrySet_963C
al 009641 .CompareActorToLimit_OnZero_9641
al 009628 .CompareActorToLimit_OnCarrySet_9628
al 0095E3 .CompareActorToLimit_OnNonzero_95E3
al 0095DC .CompareActorToLimit_Return_95DC
al 0095D9 .CompareActorToLimit
al 0095D2 .ComputeActorRightEdge
al 0095AE .ComputeActorLeftEdge
al 0095A5 .UpdateActorState_OnCarryClear_95A5
al 0095C9 .ComputeActorLeftEdge_OnCarryClear_95C9
al 0095B8 .ComputeActorLeftEdge_OnNonzero_95B8
al 009590 .UpdateActorState_OnNonzero_9590
al 009585 .UpdateActorState
al 009559 .SetActorFlag_JumpNext_9559
al 009551 .SetActorFlag_OnNonzero_9551
al 009541 .SetActorFlag_Return_9541
al 009535 .SetActorFlag_OnNonzero_9535
al 009522 .SetActorFlag_JumpNext_9522
al 00951F .SetActorFlag_OnNonzero_951F
al 009513 .SetActorFlag_JumpNext_9513
al 00950B .SetActorFlag_JumpNext_950B
al 0094FE .SetActorFlag
al 0094F6 .ClearActorFields_OnNonzero_94F6
al 0094F3 .ClearActorFields_JoinBranchPaths_94F3
al 0094D7 .ClearActorFields
al 0094CF .ClearActorPosition
al 0094C8 .SelectActorSlotAlt
al 0094C7 .SelectActorSlot
al 0094C0 .TestPlayerFacing_JumpNext_94C0
al 0094B1 .TestPlayerFacing
al 0094AD .UpdateActorTileAlt_JumpNext_94AD
al 009499 .UpdateActorTileAlt_JumpNext_9499
al 0094AA .UpdateActorTileAlt_OnZero_94AA
al 00948F .UpdateActorTileAlt_JumpNext_948F
al 009480 .UpdateActorTileAlt_JumpNext_9480
al 00947D .UpdateActorTileAlt_OnZero_947D
al 009477 .UpdateActorTileAlt_JumpNext_9477
al 00946D .UpdateActorTileAlt_JumpNext_946D
al 009465 .UpdateActorTileAlt_JumpNext_9465
al 00945B .UpdateActorTileAlt_OnNegative_945B
al 009450 .UpdateActorTileAlt_OnNonzero_9450
al 009451 .UpdateActorTileAlt_OnCarrySet_9451
al 009454 .UpdateActorTileAlt_OnCarryClear_9454
al 009441 .UpdateActorTileAlt_OnNonnegative_9441
al 00942C .UpdateActorTileAlt_OnNegative_942C
al 00941B .UpdateActorTileAlt_JumpNext_941B
al 009409 .UpdateActorTileAlt_JumpNext_9409
al 009401 .UpdateActorTileAlt_OnCarrySet_9401
al 0093D3 .UpdateActorTileAlt_OnNonzero_93D3
al 0093CC .UpdateActorTileAlt_JumpNext_93CC
al 0093C4 .UpdateActorTileAlt_OnCarrySet_93C4
al 0093D0 .UpdateActorTileAlt_OnZero_93D0
al 0093A4 .UpdateActorTileAlt_JumpNext_93A4
al 00937C .UpdateActorTileAlt_JumpNext_937C
al 009374 .UpdateActorTileAlt
al 009371 .UpdateActorTile
al 009354 .UpdateActorX_JumpNext_9354
al 00934B .UpdateActorX
al 00932C .QueueVramDescriptor_JumpNext_932C
al 0092E8 .QueueVramDescriptor_OnZero_92E8
al 0092CD .QueueVramDescriptor_JumpNext_92CD
al 009329 .QueueVramDescriptor_OnZero_9329
al 0092B2 .QueueVramDescriptor_JumpNext_92B2
al 0092AF .QueueVramDescriptor_OnNonzero_92AF
al 00929F .QueueVramDescriptor_OnNonzero_929F
al 009293 .QueueVramDescriptor_JumpNext_9293
al 00928D .QueueVramDescriptor_JumpNext_928D
al 009287 .QueueVramDescriptor_Entry_9287
al 009237 .BytecodeHandlerTable
al 009232 .BytecodeProgram_25
al 00922F .BytecodeProgram_24
al 00922C .BytecodeProgram_23
al 0091EC .BytecodeProgram_22
al 0091E0 .BytecodeProgram_21
al 00918B .BytecodeProgram_20
al 009175 .BytecodeProgram_1F
al 009141 .BytecodeProgram_1E
al 009136 .BytecodeProgram_1D
al 009131 .BytecodeProgram_1C
al 009119 .BytecodeProgram_1B
al 0090DE .BytecodeProgram_1A
al 0090D7 .BytecodeProgram_19
al 0090CA .BytecodeProgram_18
al 0090B9 .BytecodeProgram_17
al 0090A6 .BytecodeProgram_16
al 009081 .BytecodeProgram_15
al 00907D .BytecodeProgram_14
al 009071 .BytecodeProgram_13
al 009008 .BytecodeProgram_12
al 008FFD .BytecodeProgram_11
al 008F94 .BytecodeProgram_10
al 008F71 .BytecodeProgram_0F
al 008F48 .BytecodeProgram_0E
al 008F20 .BytecodeProgram_0D
al 008F1A .BytecodeProgram_0C
al 008EF4 .BytecodeProgram_0B
al 008EA9 .BytecodeProgram_0A
al 008E79 .BytecodeProgram_09
al 008E2D .BytecodeProgram_08
al 008DE2 .BytecodeProgram_07
al 008DB6 .BytecodeProgram_06
al 008D9F .BytecodeProgram_05
al 008D96 .BytecodeProgram_04
al 008D8D .BytecodeProgram_03
al 008D5C .BytecodeProgram_02
al 008D40 .BytecodeProgram_01
al 008D3B .BytecodeProgram_00
al 008CEF .BytecodeProgramPointerTable
al 008CB8 .QueueVramDescriptor
al 008C98 .ExecuteVramTransfer_OnZero_8C98
al 008C72 .ExecuteVramTransfer_OnNonzero_8C72
al 008C65 .ExecuteVramTransfer
al 008C55 .QueueVramTransferAlt_OnNonzero_8C55
al 008C3A .QueueVramTransferAlt_OnNonnegative_8C3A
al 008C11 .QueueVramTransferAlt
al 008C0E .QueueVramTransfer
al 008C05 .AdvanceAnimationSlot
al 008BFF .SetRenderingOn_OnNonnegative_8BFF
al 008BF8 .SetRenderingOn
al 008BEF .RenderHudDigitDescriptor
al 008BBA .RenderHudDigits_OnNonzero_8BBA
al 008B92 .RenderHudDigits
al 008B7D .AttributeBlockDeltaTable
al 008B6D .ClearAttributeRegion_JoinBranchPaths_8B6D
al 008B67 .ClearAttributeRegion_OnZero_8B67
al 008B5F .ClearAttributeRegion_OnCarryClear_8B5F
al 008B3B .ClearAttributeRegion_OnNonnegative_8B3B
al 008B33 .ClearAttributeRegion
al 008B37 .ClearAttributeRegion_JoinBranchPaths_8B37
al 008B20 .WriteNametableTile
al 008B25 .WriteNametableTile_OnNonzero_8B25
al 008B0D .ClearScrollLatch_OnNonzero_8B0D
al 008B07 .ClearScrollLatch
al 008AE8 .UpdateAttributeTable
al 008AE1 .SpawnStageActors_JoinBranchPaths_8AE1
al 008AA4 .SpawnStageActors_JoinBranchPaths_8AA4
al 008A93 .SpawnStageActors_OnZero_8A93
al 008A84 .SpawnStageActors_OnNonzero_8A84
al 008A74 .SpawnStageActors_OnZero_8A74
al 008A68 .SpawnStageActors_OnCarryClear_8A68
al 008AA5 .SpawnStageActors_OnZero_8AA5
al 008A5E .SpawnStageActors
al 008A5D .UpdateStageActors_JoinBranchPaths_8A5D
al 008A28 .UpdateStageActors
al 008A1E .StandaloneBytecodeProgram_2
al 0089F7 .ReadControllerAndInit_OnNonzero_89F7
al 0089EE .ReadControllerAndInit_OnCarryClear_89EE
al 0089CE .ReadControllerAndInit
al 0089B2 .CompactOamList_OnNonzero_89B2
al 0089B8 .CompactOamList_OnNonzero_89B8
al 0089B5 .CompactOamList_OnNonzero_89B5
al 00899F .CompactOamList_OnNonzero_899F
al 00899D .CompactOamList_OnZero_899D
al 0089AC .CompactOamList_OnZero_89AC
al 0089B0 .CompactOamList_OnCarryClear_89B0
al 0089A8 .CompactOamList_OnZero_89A8
al 00898A .CompactOamList_OnNonnegative_898A
al 008986 .CompactOamList
al 00897F .FindFreeOamSlot_OnNonzero_897F
al 00896B .FindFreeOamSlot_OnZero_896B
al 00896A .FindFreeOamSlot_JoinBranchPaths_896A
al 008942 .FindFreeOamSlot_OnZero_8942
al 008938 .FindFreeOamSlot_OnNonnegative_8938
al 008936 .FindFreeOamSlot
al 00892A .EmitOamAtOffset_OnNonzero_892A
al 008943 .FindFreeOamSlot_JoinBranchPaths_8943
al 00891B .EmitOamAtOffset_OnZero_891B
al 008909 .EmitOamAtOffset_OnZero_8909
al 0088F9 .EmitOamFromTable
al 0088F4 .EmitOamBlankEntry_OnZero_88F4
al 0088EB .EmitOamBlankEntry
al 0088FF .EmitOamAtOffset
al 00890F .EmitOamAtOffset_JoinBranchPaths_890F
al 0088F3 .EmitOamBlankEntry_JoinBranchPaths_88F3
al 0088B0 .EmitOamEntry
al 0088AE .BuildOamList_OnNonzero_88AE
al 0088A4 .BuildOamList
al 00889D .PollControllerAndCheckRound_OnNonzero_889D
al 008899 .PollControllerAndCheckRound_OnCarrySet_8899
al 00888D .PollControllerAndCheckRound_OnZero_888D
al 008882 .PollControllerAndCheckRound
al 008881 .SignalVblankComplete_JoinBranchPaths_8881
al 00886C .PollControllerBitsAlt
al 00885B .PollControllerAndAdvance
al 00887C .SignalVblankComplete
al 00885A .PollControllerBits_JoinBranchPaths_885A
al 008848 .PollControllerBits
al 008837 .PlayDeathSequence
al 00881F .StandaloneBytecodeProgram_1
al 008803 .UpdateFlashCounter_OnNonzero_8803
al 008801 .UpdateFlashCounter_OnZero_8801
al 008819 .UpdateFlashCounter_OnCarryClear_8819
al 0087F2 .UpdateFlashCounter
al 0087D1 .PollControllerStart
al 0087F1 .PollControllerStart_JoinBranchPaths_87F1
al 0087BF .UpdateTimersAlt
al 008795 .RunGameStateDispatcher_OnNonzero_8795
al 008787 .RunGameStateDispatcher_JoinBranchPaths_8787
al 00877C .RunGameStateDispatcher
al 008765 .SetSoundSequenceChannel1
al 008764 .IrqHandler
al 008759 .FinishNmiRegisters
al 008751 .FinishNmiUpdates
al 008742 .NmiHandler_OnNonzero_8742
al 008728 .NmiHandler_OnCarrySet_8728
al 00872F .NmiHandler_OnNonzero_872F
al 008703 .NmiHandler_OnNegative_8703
al 008709 .NmiHandler_OnZero_8709
al 0086FA .NmiHandler_OnZero_86FA
al 0086E3 .NmiHandler_OnNonzero_86E3
al 0086D8 .NmiHandler_OnZero_86D8
al 0086CB .NmiHandler
al 0086AD .UpdateRoundLogic_OnNegative_86AD
al 0086AA .UpdateRoundLogic_JoinBranchPaths_86AA
al 0086A0 .UpdateRoundLogic_JoinBranchPaths_86A0
al 008682 .UpdateRoundLogic_OnNonzero_8682
al 00865D .UpdateRoundLogic
al 008653 .SetRenderingOffAndSignalVblank
al 008644 .ForceRenderingOff
al 008639 .BeginVblankFrame
al 0085ED .StandaloneBytecodeProgram
al 0085DA .UpdateScrollTargetAlt_OnNonzero_85DA
al 0085A8 .UpdateScrollTargetAlt_OnNonzero_85A8
al 0085EC .UpdateScrollTargetAlt_JoinBranchPaths_85EC
al 0085A3 .UpdateScrollTargetAlt_OnZero_85A3
al 008598 .UpdateScrollTargetAlt
al 008596 .UpdateScrollTarget
al 00858F .PlayRoundChangeMusic_OnNonzero_858F
al 00856C .PlayRoundChangeMusic
al 008564 .UpdateRoundTimers_OnZero_8564
al 008522 .UpdateRoundTimers_OnCarrySet_8522
al 00851C .UpdateRoundTimers_OnCarrySet_851C
al 00850F .UpdateRoundTimers_OnZero_850F
al 0084F4 .UpdateRoundTimers_OnCarryClear_84F4
al 0084EE .UpdateRoundTimers_OnNonzero_84EE
al 0084E9 .UpdateRoundTimers_OnCarrySet_84E9
al 0084B5 .UpdateRoundTimers_OnNonzero_84B5
al 0084B1 .UpdateRoundTimers_OnNonzero_84B1
al 00851F .UpdateRoundTimers_OnNonzero_851F
al 0084A1 .UpdateRoundTimers_OnZero_84A1
al 00848D .UpdateRoundTimers_OnNonzero_848D
al 00845C .UpdateRoundTimers
al 00841A .UpdateActorPositions_OnZero_841A
al 008434 .UpdateActorPositions_OnNonzero_8434
al 0083E1 .UpdateActorPositions_OnCarryClear_83E1
al 0083D0 .UpdateActorPositions_OnZero_83D0
al 0083AB .UpdateActorPositions_OnNonnegative_83AB
al 0083A7 .UpdateActorPositions
al 00839B .LoadOamShadowFromTable_OnNonnegative_839B
al 008399 .LoadOamShadowFromTable
al 008390 .WriteScoreTallyDigits_OnNonzero_8390
al 008385 .WriteScoreTallyDigits_OnZero_8385
al 008374 .WriteScoreTallyDigits_OnCarryClear_8374
al 008372 .WriteScoreTallyDigits
al 008353 .UpdateScoreTallyDigits
al 008352 .UpdateHudTallyTiles_OnZero_8352
al 00833E .UpdateHudTallyTiles_OnZero_833E
al 00832A .UpdateHudTallyTiles
al 0082FF .StartMusicSequence
al 0082FA .StartIntroMusic
al 0082ED .SilenceSoundChannel3
al 0082E1 .SilenceSoundChannels1And3
al 0082DA .DivideBy20_OnCarryClear_82DA
al 0082BE .DivideBy20_OnNonzero_82BE
al 0082AC .DivideBy20
al 008298 .MainGameLoop_OnNonzero_8298
al 00828C .MainGameLoop_OnNonzero_828C
al 008284 .MainGameLoop_OnZero_8284
al 00829E .MainGameLoop_OnNonnegative_829E
al 008261 .MainGameLoop_OnNonzero_8261
al 008255 .MainGameLoop_OnNonzero_8255
al 00824D .MainGameLoop_OnZero_824D
al 008267 .MainGameLoop_OnNonnegative_8267
al 008232 .MainGameLoop_OnZero_8232
al 008235 .MainGameLoop_OnZero_8235
al 008226 .MainGameLoop
al 008223 .InitializeRound_OnNonzero_8223
al 0081E2 .InitializeRound_JoinBranchPaths_81E2
al 0081E0 .InitializeRound_OnCarryClear_81E0
al 0081D6 .InitializeRound_OnCarryClear_81D6
al 0081DE .InitializeRound_OnCarryClear_81DE
al 0081DA .InitializeRound_OnCarryClear_81DA
al 0081A0 .InitializeRound_OnNonzero_81A0
al 008196 .InitializeRound_OnNonnegative_8196
al 008191 .InitializeRound_OnNonzero_8191
al 008187 .InitializeRound_OnNonnegative_8187
al 008173 .InitializeRound_OnCarryClear_8173
al 008154 .UpdateFadeFlashSprites_OnCarryClear_8154
al 008132 .UpdateFadeFlashSprites
al 00811A .StartStageSequence_OnZero_811A
al 00810A .StartStageSequence_OnNonzero_810A
al 008105 .StartStageSequence_OnNonzero_8105
al 008164 .InitializeRound
al 0080E0 .StartStageSequence_OnZero_80E0
al 0080AC .StartStageSequence
al 008094 .UpdateNametableFromStream_OnZero_8094
al 008077 .UpdateNametableFromStream_OnZero_8077
al 00807A .UpdateNametableFromStream_OnZero_807A
al 008066 .UpdateNametableFromStream_OnZero_8066
al 00805B .UpdateNametableFromStream_OnNonzero_805B
al 00806E .UpdateNametableFromStream_OnNonnegative_806E
al 008080 .UpdateNametableFromStream_OnZero_8080
al 008052 .UpdateNametableFromStream
al 00803B .InitializeGameState_OnNonzero_803B
al 00802C .InitializeGameState
al 008019 .WaitForSecondPpuWarmup
al 00800E .WaitForFirstPpuWarmup
al 008000 .Reset