Files
disasm/Urban Champion (JU)/copilot/reconstructed.lbl
T
tmerritt 4b9cb7231c Urban Champion (JU): Promote to top-level with full-ROM build
- Moved from _wip/ to top-level
- Added header.s, chr.s (16-byte iNES header + 8KB CHR)
- Updated linker.cfg for HEADER/PRG/CHR segments
- Updated Makefile for full-ROM comparison (reconstructed.nes vs rom.nes)
- Fixed tool paths from ../../../_tools/ to ../../_tools/
- Added data_label_map.tsv for Pass 3 data table naming
- Full-ROM byte-identical verified: make passes, verify_pass1.py passes

Pass 1: Complete (CDL-verified, 33.9% code)
Pass 2: Complete (519 labels renamed, 10 zero-page aliases)
Pass 3: Complete (55 data tables named, 6 major structures documented)
Build: BYTE-IDENTICAL at full-ROM level
2026-10-18 20:10:03 -04:00

436 lines
13 KiB
Plaintext

al 00E80C .InitSoundExit_E80C
al 00E80B .InitSoundCallE5AC
al 00E7FE .InitSoundExit
al 00E7F7 .InitSoundEntry
al 00E7EF .InitSound
al 00E7F9 .InitSoundCallE4E2
al 00E7DB .InitSpriteDataCallE5ACAlt6
al 00E7C6 .InitSpriteDataCallE5ACAlt5
al 00E7BE .InitSpriteDataCallE4E2Alt5
al 00E7D6 .InitSpriteDataCallE4E2Alt6
al 00E7B6 .InitSpriteDataExit
al 00E7AF .InitSpriteDataCallE4E2Alt4
al 00E7AB .InitSpriteDataCallE5ACAlt3
al 00E7A7 .InitSpriteDataCallE4E2Alt3
al 00E7B1 .InitSpriteDataCallE5ACAlt4
al 00E793 .InitSpriteData
al 00E77C .InitSpriteDataCallE5ACAlt2
al 00E768 .InitSpriteDataCallE5ACAlt
al 00E777 .InitSpriteDataCallE4E2Alt2
al 00E749 .InitSpriteDataCallE4E2
al 00E753 .InitSpriteDataCallE5AC
al 00E72D .InitSpriteDataLoop
al 00E764 .InitSpriteDataCallE4E2Alt
al 00E70C .InitSpriteDataEntry
al 00E6FA .UpdateMusicLoopExit
al 00E6F9 .UpdateMusicLoopCallE4E2Alt4
al 00E6F2 .UpdateMusicLoopCallE5ACAlt2
al 00E6E6 .UpdateMusicLoopCallE4E2Alt3
al 00E6E3 .UpdateMusicLoopCallE5ACAlt
al 00E6DD .UpdateMusicLoopCallE4E2Alt2
al 00E6D4 .UpdateMusicLoop
al 00E6CE .UpdateMusicLoopCallE4E2Alt
al 00E6BE .UpdateMusicLoopCallE5AC
al 00E695 .UpdateMusicLoopEntry
al 00E6A8 .UpdateMusicLoopCallE4E2
al 00E669 .UpdateMusicCallE4E2Alt6
al 00E65A .UpdateMusicCallE5ACAlt5
al 00E641 .UpdateMusicCallE4E2Alt5
al 00E630 .UpdateMusicCallE5ACAlt4
al 00E62F .UpdateMusicCallE4E2Alt4
al 00E62D .UpdateMusicCallE5ACAlt3
al 00E61B .UpdateMusicAlt
al 00E617 .UpdateMusicExit
al 00E60E .UpdateMusicCallE4E2Alt3
al 00E5FB .UpdateMusicCallE5ACAlt2
al 00E5D9 .UpdateMusicCallE4E2Alt
al 00E5E5 .UpdateMusicCallE5ACAlt
al 00E5CD .UpdateMusicCallE5AC
al 00E5E4 .UpdateMusicCallE4E2Alt2
al 00E5AC .UpdateMusicCallE4E2
al 00E595 .PlaySoundEffectCallE5ACAlt3
al 00E594 .PlaySoundEffectCallE4E2Alt4
al 00E5AB .UpdateMusicEntry
al 00E56B .PlaySoundEffectCallE4E2Alt3
al 00E582 .PlaySoundEffectCallE5ACAlt2
al 00E54A .PlaySoundEffectAlt
al 00E543 .PlaySoundEffectCallE4E2Alt2
al 00E549 .PlaySoundEffectCallE5ACAlt
al 00E535 .PlaySoundEffectExit
al 00E52F .PlaySoundEffectCallE4E2Alt
al 00E52B .PlaySoundEffectCallE5AC
al 00E50A .PlaySoundEffectEntry
al 00E506 .PlaySoundEffect
al 00E4F6 .UpdateSoundCallE4E2Alt7
al 00E52A .PlaySoundEffectCallE4E2
al 00E4EA .UpdateSoundCallE5ACAlt2
al 00E4E2 .UpdateSoundAltExit
al 00E4BD .UpdateSoundCallE4E2Alt5
al 00E4A4 .UpdateSoundAlt
al 00E4AE .UpdateSoundCallE5ACAlt
al 00E4BF .UpdateSoundCallE4E2Alt6
al 00E496 .UpdateSoundCallE4E2Alt3
al 00E48A .UpdateSoundCallE4E2Alt2
al 00E479 .UpdateSoundCallE4E2Alt
al 00E46E .UpdateSoundCallE5AC
al 00E469 .UpdateSoundCallE4E2
al 00E462 .UpdateSoundEntry
al 00E461 .HandleRoundStartCallE4E2Alt4
al 00E459 .UpdateSound
al 00E450 .HandleRoundStartCallE4E2Alt2
al 00E438 .HandleRoundStartCallE4E2Alt
al 00E42A .HandleRoundStartCallE5AC
al 00E41A .HandleRoundStartCallE4E2
al 00E458 .HandleRoundStartCallE4E2Alt3
al 00E418 .HandleRoundStartEntry
al 00E40E .HandleRoundStartExit
al 00E334 .HandleGameOverCallE4E2Alt
al 00E346 .HandleGameOverCallE4E2Alt2
al 00E31E .HandleGameOverCallE5AC
al 00E312 .HandleGameOverCallE4E2
al 00E30F .HandleGameOverEntry
al 00E2FF .HandlePlayer2LogicCallE4E2Alt3
al 00E2E5 .HandlePlayer2LogicCallE4E2Alt2
al 00E34F .HandleGameOverCallE4E2Alt3
al 00E2D8 .HandlePlayer2LogicCallE4E2Alt
al 00E2C9 .HandlePlayerLogicExit
al 00E2C1 .HandlePlayer2LogicCallE5AC
al 00E2B9 .HandlePlayer2Logic
al 00E2A3 .HandlePlayer2LogicStxZp31
al 00E29C .HandlePlayer2LogicCpyZp43
al 00E2B8 .HandlePlayer2LogicCallE4E2
al 00E290 .HandlePlayer2LogicEntry
al 00E26C .HandlePlayer1LogicCallE4E2Alt
al 00E255 .HandlePlayer1LogicCallE5AC
al 00E24A .HandlePlayer1LogicCallE4E2
al 00E236 .HandlePlayer1LogicLdaZp87
al 00E235 .HandlePlayer1LogicBeq
al 00E21E .HandlePlayer1LogicLda0258
al 00E20D .HandlePlayer1LogicInx
al 00E207 .HandlePlayer1LogicLdxZp36
al 00E1FD .HandlePlayer2Dex
al 00E1CD .HandlePlayer2CallE1FDEntry
al 00E11A .HandlePlayer2CallE1FD
al 00E0B7 .HandlePlayer1BeqE235
al 00E0B4 .HandlePlayer1CheckZp87
al 00E11C .HandlePlayer2Entry
al 00E076 .HandlePlayer1Alt
al 00E06D .HandlePlayer1CallE1CD
al 00E064 .HandlePlayer2Exit
al 00E073 .HandlePlayer1CallE1FD
al 00E052 .HandlePlayer1BeqE075
al 00E056 .HandlePlayer1LdxZp89
al 00E075 .HandlePlayer1Entry
al 00E040 .HandlePlayer1CheckZpC0
al 00DFDF .HandleKODexBne
al 00DFE5 .HandleKOBeqDFE4
al 00DFDA .HandleKODex
al 00DFE4 .HandleKOCheckZp1F
al 00DFBC .HandleKOCheckZp1F_DFBC
al 00DFAE .HandleKOBeqDFB7
al 00DFB7 .HandleKOLda0321
al 00DF9E .HandleKOCheckZp88
al 00DF8D .HandleKOCmp07
al 00DF7A .HandleKOLoop
al 00DF75 .HandleKOAnd07
al 00DF74 .HandleKOLda05EC
al 00DF53 .HandleKOEntry
al 00DF4C .UpdateRoundStateAlt
al 00DEC9 .UpdateRoundState
al 00DE1C .ProcessInputsEntry
al 00DE35 .ProcessInputsCheckZp1F
al 00DE03 .ProcessInputsExit
al 00DD96 .UpdateTimersBneDDAB
al 00DDAB .UpdateTimersCallCDE0
al 00DD8C .UpdateTimersAnd1F
al 00DD34 .UpdateTimersBeqDD34
al 00DD3B .UpdateTimersCmp02Alt
al 00DD33 .UpdateTimersBeqDD33Alt
al 00DD00 .UpdateTimersCmp02
al 00DCFF .UpdateTimersBeqDD33
al 00DCF6 .UpdateTimersEntry
al 00DBF0 .SpriteDMARTS
al 00DBDD .SpriteDMACallCDE0
al 00DBEF .SpriteDMACallDD8C
al 00DBBF .SpriteDMACheckZp93
al 00DBAA .SpriteDMADex
al 00DBA6 .SpriteDMALoop_DBA6
al 00DB9E .SpriteDMALdaF940
al 00DB8E .SpriteDMALdx0A
al 00DB7D .SpriteDMALoopEntry
al 00DB92 .SpriteDMALdy0A
al 00DB57 .SpriteDMACmp02
al 00DB91 .SpriteDMABeqDB91
al 00DB48 .SpriteDMACheckZp96_DB48
al 00DAB3 .SpriteDMACheckZp96
al 00DAA7 .CheckCollisions
al 00DA25 .TitleScreenSetMode
al 00D828 .UpdatePlayerPositionsStxZp31
al 00D825 .UpdatePlayerPositionsEntry
al 00D80C .UpdatePlayerPositionsExit
al 00D807 .UpdatePlayerPositionsSetZp32
al 00D7FC .UpdatePlayerPositionsCheckZp84
al 00D7DB .UpdatePlayerPositions
al 00D447 .DrawRoundNumberADC06
al 00D444 .DrawRoundNumberClc
al 00D436 .DrawRoundNumberCalc
al 00D463 .DrawRoundNumberCallE4E2
al 00D45B .DrawRoundNumberCallE7A7
al 00D411 .UpdateScoreLDY02
al 00D408 .UpdateScoreBneD3CE
al 00D3F3 .UpdateScoreSetZp31Alt3
al 00D3CE .UpdateScoreCallE46E
al 00D3D1 .UpdateScoreBneD40E
al 00D3BD .UpdateScoreSetZp31Alt2
al 00D40E .UpdateScoreExit
al 00D3C3 .UpdateScoreBneD408
al 00D3A4 .UpdateScoreCheckZp88Alt
al 00D392 .UpdateScoreLdx02
al 00D367 .UpdateScoreSetZp31Alt
al 00D35E .UpdateScoreCpy0D
al 00D34B .UpdateScoreCallE462
al 00D341 .UpdateScoreCallE459
al 00D327 .UpdateScoreLdxZp89
al 00D332 .UpdateScoreCallE2B9
al 00D31F .UpdateScoreBeqD31F
al 00D313 .UpdateScoreLoadZp1F
al 00D304 .UpdateScoreSetZp31
al 00D301 .UpdateScoreCheckZp88
al 00D300 .UpdateScoreEntry
al 00D2CA .UpdatePlayersCheckZp1F
al 00D2AF .UpdatePlayersCallE4E2Alt
al 00D2AD .UpdatePlayersCallE4E2
al 00D2C4 .UpdatePlayersCallE462
al 00D2A7 .UpdatePlayersStxZp31Alt
al 00D2A5 .UpdatePlayersEntryAlt
al 00D2B2 .UpdatePlayersCallE5AC
al 00D2C7 .UpdatePlayersCallE462_CF
al 00D289 .UpdatePlayersCpyZp43Alt
al 00D27B .UpdatePlayersEntry
al 00D2A9 .UpdatePlayersStyZp43Alt
al 00D29E .UpdatePlayersStyZp43
al 00D261 .UpdatePlayersStxZp31
al 00D254 .UpdatePlayersCpyZp43
al 00D243 .UpdatePlayersBitZp00
al 00D213 .UpdatePlayersCheckZp00
al 00D1EA .UpdatePPUMaskLdx01
al 00D1E8 .UpdatePPUMaskBCS
al 00D1F9 .UpdatePPUMaskSetZp88
al 00D1CA .UpdatePPUMaskCheckZp8B
al 00D1C4 .UpdatePPUMaskEntry
al 00D1AE .UpdatePPUMaskASL
al 00D1A4 .UpdatePPUMaskCheckZp85
al 00D187 .UpdatePPUMaskExit
al 00D174 .UpdatePPUMask
al 00D08E .SpriteDMA
al 00D088 .SpriteDMASetZp00
al 00D086 .SpriteDMALoop_D086
al 00D084 .SpriteDMAEntry
al 00D07E .SetupInitialStateLoop
al 00D07A .SetupInitialStateEntry
al 00D066 .UpdateRoundTimerInitCallCE3A
al 00D05E .UpdateRoundTimerInitSetZp09
al 00D057 .UpdateRoundTimer
al 00D050 .UpdateRoundTimerInitSetPtr
al 00D044 .DrawBackgroundLdx0
al 00D040 .DrawBackgroundSetZpA2Alt
al 00D034 .DrawBackgroundSetZpA2
al 00D030 .DrawBackgroundEntry
al 00D01A .UpdateRoundTimerInit
al 00D015 .UpdateRoundTimerBeq
al 00D012 .UpdateRoundTimerCallD057
al 00CFB3 .CheckRoundEndEntry
al 00CFA1 .CheckRoundEnd
al 00CF92 .UpdateSpritePositions
al 00CF8F .ScrollBackgroundStaZp01Alt2
al 00CF83 .ScrollBackgroundCallCF92Alt2
al 00CF70 .ScrollBackgroundCallCF92Alt
al 00CF67 .ScrollBackgroundCmp0A_CF67
al 00CF6B .ScrollBackgroundSbcZp01_CF6B
al 00CF5A .ScrollBackgroundAdcZp01_CF5A
al 00CF4F .ScrollBackgroundCallCF92Entry
al 00CF4E .ScrollBackgroundCallCF92
al 00CF25 .ScrollBackgroundStaZp01Alt
al 00CF23 .ScrollBackgroundSbcZp01_CF23
al 00CECE .ScrollBackgroundStaZp01
al 00CEF5 .ScrollBackgroundCmp0A_CEF5
al 00CEF1 .ScrollBackgroundAdcZp01_CEF1
al 00CEC5 .ScrollBackgroundAnd0F
al 00CEBE .ScrollBackgroundAdc01
al 00CEBD .ScrollBackgroundCmp6F_CEBD
al 00CEAD .ScrollBackgroundTXA_CEAD
al 00CE83 .ScrollBackgroundInx
al 00CE6C .ScrollBackgroundLoop
al 00CE55 .ScrollBackgroundSetZp21
al 00CE43 .ScrollBackground
al 00CE3A .ScrollBackgroundRead2002
al 00CE26 .ScrollBackgroundCmp6F_CE26
al 00CE23 .ScrollBackgroundTXA_CE23
al 00CE20 .ScrollBackgroundIncX
al 00CE14 .ScrollBackgroundEntry
al 00CDFE .RoundLogicSaveXY
al 00CDE0 .ProcessControllerInput
al 00CDDC .RoundLogicBplCDD6
al 00CDD6 .RoundLogicDecZp2A
al 00CDCA .RoundLogicEntry
al 00CDC3 .ProcessControllerInputStaZp09
al 00CDAA .ProcessControllerInputOra18
al 00CD94 .ProcessControllerInputAnd04
al 00CD85 .ProcessControllerInputRead2002Alt2
al 00CD6C .ProcessControllerInputAndFB
al 00CD5D .ProcessControllerInputRead2002
al 00CD76 .ProcessControllerInputStaZp08
al 00CD84 .ProcessControllerInputRead2002Alt
al 00CD41 .ProcessControllerInputEntry
al 00CD38 .RoundLogicSet21
al 00CD33 .RoundLogicBeqCD84
al 00CD22 .RoundLogicCheckZp21
al 00CCFD .ProcessControllerInputStore
al 00CCFB .ProcessControllerInputLoop
al 00CCF3 .UpdatePalettesZeroY
al 00CCE3 .UpdatePalettesCheckZp27
al 00CCD0 .UpdatePlayers
al 00CCC3 .UpdateOAMCheckZp27
al 00CCCF .UpdateOAMZeroY
al 00CCAF .UpdatePalettes
al 00CC97 .UpdateOAMCheckZp23
al 00CCAE .UpdateOAMDecrement
al 00CC85 .UpdateOAM_CC85
al 00CC7B .UpdateOAMClear200
al 00CC77 .UpdateOAMExit
al 00CC6E .UpdateOAMSetPointer
al 00CC67 .UpdateOAM_CC67
al 00CC5C .UpdateScrollCheckZpA4
al 00CC42 .UpdateScrollCheckDispatchAlt
al 00CC3A .UpdateScrollCheckDispatch
al 00CC3E .UpdateScrollReadZpA4
al 00CC24 .InitSpritesSet5FD
al 00CC15 .InitSpritesIncY
al 00CC29 .UpdateScrollReadDispatch
al 00CC1B .InitSpritesCpy02
al 00CC02 .UpdateScrollCheckZp1F
al 00CBF7 .InitSpritesAlt
al 00CBDA .UpdateScrollLogic
al 00CC0B .InitSpritesExit
al 00CBE2 .InitSprites
al 00CBFB .InitSpritesBeqCBFB
al 00CBC0 .InitSpritesZero5FF
al 00CBB6 .InitSpritesSetPos
al 00CB55 .GameplayFrameCallE70C
al 00CB51 .GameplayFrameCallD012
al 00CB4E .CheckControllerStartJmp
al 00CB4B .CheckControllerStartWait
al 00CB0F .CheckControllerStartLoop
al 00CB06 .CheckControllerStartEntry
al 00CB31 .CheckControllerStartExit
al 00CB66 .UpdateScrollEntry
al 00CB61 .TitleScreenLoopCallInitAPU
al 00CAE1 .TitleScreenCheckMode
al 00CADA .UpdateScroll
al 00CAB2 .NmiFrameUpdate4
al 00CAB5 .NmiExit
al 00CAC2 .NmiVBlankOnly_CAC2
al 00CA91 .NmiHandler
al 00CA76 .GameplayFrame
al 00CA73 .CallInitAPU
al 00CA69 .TitleScreenLoop
al 00CA87 .MainGameLoop
al 00CA5E .CopyConfigData
al 00CA2F .StoreConfig
al 00CA21 .ClearRAMLoop
al 00CA02 .WaitPPUReady
al 00CA00 .Reset
al 00C64E .WaitVBlankCallC1B2Zero
al 00C647 .WaitVBlankZeroE4
al 00C644 .WaitVBlankJmpC20F
al 00C63D .WaitVBlankCallC1B2Alt2
al 00C60B .WaitVBlankStore
al 00C5F6 .WaitVBlankDecD8
al 00C5F5 .WaitVBlankLoop_C5F5
al 00C637 .WaitVBlankCallC1B2Alt
al 00C605 .WaitVBlankCheckFA
al 00C622 .WaitVBlankCallC1B2
al 00C5F9 .WaitVBlankDecD9
al 00C5FF .WaitVBlankCheckFF
al 00C5D1 .InitGameState4
al 00C5CA .InitGameState4CheckF2Alt
al 00C5C5 .InitGameState4DecD8
al 00C5AB .InitGameState4CheckF9
al 00C5A4 .InitGameState4MaskEF
al 00C590 .InitGameState4ClearEF
al 00C593 .InitGameState4MaskF3
al 00C55A .InitGameState4Loop
al 00C542 .InitGameState4CheckF2
al 00C52D .InitGameState3Alt
al 00C520 .InitGameState3Loop
al 00C512 .InitGameState3CheckE6
al 00C508 .InitGameState3
al 00C4F4 .InitSpritesSetF4
al 00C4E6 .InitSpritesCheck10CAF
al 00C4E3 .InitSpritesCheck10C
al 00C4CA .InitSpritesCheck10BMax
al 00C4C3 .InitSpritesInc10B
al 00C4BB .InitSpritesCheck10B
al 00C4A4 .InitSpritesAlt2Entry
al 00C4A5 .InitSpritesAlt2Loop
al 00C49C .InitSpritesAlt1Loop
al 00C48A .InitGameState2Exit
al 00C478 .InitSpritesAlt1Entry
al 00C465 .InitGameState2
al 00C44A .InitSpritesSetF2
al 00C444 .InitSpritesCheckF2
al 00C425 .InitSpritesAlt8
al 00C41E .InitSpritesAlt7
al 00C408 .InitSpritesAlt6
al 00C40F .InitSpritesSetF3
al 00C3E3 .InitSpritesSetE4
al 00C3E9 .InitSpritesSetE6
al 00C3C3 .InitSpritesCheckE6
al 00C3B3 .InitSpritesExit_C3B3
al 00C3FF .InitSpritesCallChain
al 00C3AD .InitSpritesAltExit
al 00C40E .InitSpritesCheckF1
al 00C39A .InitSpritesLoop
al 00C405 .InitSpritesClearEF
al 00C384 .InitSpritesMain
al 00C37D .InitSpritesAlt2
al 00C376 .InitSpritesAlt1
al 00C358 .InitAPURegisters
al 00C352 .ClearControllerState
al 00C335 .InitAPU
al 00C332 .InitAPUCall
al 00C327 .InitGameStateExit
al 00C31B .InitGameState
al 00C30D .ClearRAMPageLoop
al 00C30C .ClearRAMPage
al 00C2A5 .InitGameVariables
al 00C2DE .ClearRAM
al 00C288 .WaitVBlankLoop
al 00C22C .CopySpriteTablesLoop
al 00C24D .WaitVBlank
al 00C20F .CopySpriteTables
al 00C1B2 .SetupSpriteDataLoop
al 00C1A7 .SetupSpriteData
al 00C199 .LoadBackgroundDataAlt
al 00C195 .LoadBackgroundDataLoop
al 00C19B .LoadBackgroundDataExit
al 00C18D .LoadBackgroundData
al 00C0F1 .InitAPUFrameCounter
al 00C0FC .InitPPUFinal
al 00C0E0 .InitPPULoop
al 00C0F8 .InitAPUFrameCounterExit
al 00C0CF .InitPPU
al 00C0B1 .InitControllerTablesExit
al 00C0AE .InitControllerTablesAlt
al 00C0A0 .InitControllerTablesLoop
al 00C087 .InitControllerTables
al 00C06E .UpdateControllerState
al 00C063 .InitSoundPointers
al 00C05E .SaveXY
al 00C058 .InitAPUWaveform
al 00C056 .SetAPUSweep
al 00C04E .SetAPUVolume
al 00C026 .ScaleInputIndex
al 00C003 .CheckControllerStart
al 00C000 .InitAPU_C000