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
This commit is contained in:
1 parent
b7104a8f80
commit
4b9cb7231c
24 files changed
+214
-7884
No files matched your search
@@ -0,0 +1,30 @@
|
||||
all: reconstructed.nes verify
|
||||
|
||||
# Standard build
|
||||
header.o: header.s
|
||||
ca65 -g -o $@ header.s
|
||||
|
||||
prg.o: prg.s symbols.inc locals.inc prg.bin
|
||||
ca65 -g -o $@ prg.s
|
||||
|
||||
chr.o: chr.s chr.bin
|
||||
ca65 -g -o $@ chr.s
|
||||
|
||||
reconstructed.nes: header.o prg.o chr.o linker.cfg
|
||||
ld65 -C linker.cfg -m reconstructed.map -Ln reconstructed.lbl -o $@ header.o prg.o chr.o
|
||||
|
||||
verify: reconstructed.nes rom.nes
|
||||
cmp reconstructed.nes rom.nes
|
||||
@echo "Byte-identical ROM verified."
|
||||
|
||||
# Regen pipeline (requires ../../_tools/)
|
||||
regen:
|
||||
python3 ../../_tools/nesdis.py --prg prg.bin --base 0xC000 --project "Urban Champion (JU)" \
|
||||
--out prg.s --locals locals.inc --auto-seed \
|
||||
--extra-seed 0xCA00,0xCA91 \
|
||||
--data 0xCB70:60
|
||||
python3 ../../_tools/pass2.py apply prg.s label_map.tsv
|
||||
python3 ../../_tools/pass2.py apply prg.s data_label_map.tsv
|
||||
|
||||
clean:
|
||||
rm -f header.o prg.o chr.o reconstructed.nes reconstructed.map reconstructed.lbl reconstructed_prg.bin
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
; Urban Champion (JU) CHR ROM data
|
||||
; 8 KB CHR ROM
|
||||
|
||||
.segment "CHR"
|
||||
.incbin "chr.bin"
|
||||
@@ -0,0 +1,55 @@
|
||||
label Label_C006 InitData_C006
|
||||
label Label_C032 InitData_C032
|
||||
label Label_C06A SoundPointerTable
|
||||
label Label_C0A1 InitData_C0A1
|
||||
label Label_C100 ControllerKeyTable
|
||||
label Label_C1FE InitData_C1FE
|
||||
label Label_C22F InitData_C22F
|
||||
label Label_C26A InitData_C26A
|
||||
label Label_C2A8 InitData_C2A8
|
||||
label Label_C2F9 InitData_C2F9
|
||||
label Label_C36E APUFrameCounterData
|
||||
label Label_C42C InitData_C42C
|
||||
label Label_C4F8 InitData_C4F8
|
||||
label Label_C521 InitData_C521
|
||||
label Label_C5A0 InitData_C5A0
|
||||
label Label_C658 SpriteMetatileTable
|
||||
label Label_CA02 TitleScreenData_CA02
|
||||
label Label_CA34 TitleScreenData_CA34
|
||||
label Label_CA5E TitleScreenData_CA5E
|
||||
label Label_CB70 BranchTableOffsets
|
||||
label Label_CC61 InvalidOpcode_CC61
|
||||
label Label_CF32 InitData_CF32
|
||||
label Label_CFC3 InitData_CFC3
|
||||
label Label_D027 InitData_D027
|
||||
label Label_D067 InitData_D067
|
||||
label Label_D09D UpdateScrollData
|
||||
label Label_D21B InvalidOpcode_D21B
|
||||
label Label_D26E InitData_D26E
|
||||
label Label_D344 InitData_D344
|
||||
label Label_D361 InitData_D361
|
||||
label Label_D36A InitData_D36A
|
||||
label Label_D469 GameplayCode_D469
|
||||
label Label_D834 GameplayCode_D834
|
||||
label Label_DA34 TitleScreenData_DA34
|
||||
label Label_DA36 TitleScreenData_DA36
|
||||
label Label_DA5C TitleScreenData_DA5C
|
||||
label Label_DA78 TitleScreenData_DA78
|
||||
label Label_DA94 TitleScreenData_DA94
|
||||
label Label_DAB7 SpriteDMATable
|
||||
label Label_DBCB UpdateTimersData
|
||||
label Label_DBCE UpdateTimersData_DBCE
|
||||
label Label_DBFD ProcessInputsData
|
||||
label Label_DD7D InitData_DD7D
|
||||
label Label_DDAC InitData_DDAC
|
||||
label Label_DE24 InvalidOpcode_DE24
|
||||
label Label_DE36 InitData_DE36
|
||||
label Label_DED8 InitData_DED8
|
||||
label Label_DF56 InitData_DF56
|
||||
label Label_DFEA InitData_DFEA
|
||||
label Label_E11D HandlePlayerCode
|
||||
label Label_E350 HandleGameOverData
|
||||
label Label_E4C0 InitData_E4C0
|
||||
label Label_E700 InitSpriteDataTable
|
||||
label Label_E78A InitData_E78A
|
||||
label Label_E813 SpritePatternTable
|
||||
|
Binary file not shown.
@@ -0,0 +1,17 @@
|
||||
; Urban Champion (JU) NES header
|
||||
; iNES format: 16 bytes
|
||||
;
|
||||
; Bytes 0-3: "NES" + $1A
|
||||
; Byte 4: PRG ROM size in 16 KB units (1 = 16 KB)
|
||||
; Byte 5: CHR ROM size in 8 KB units (1 = 8 KB)
|
||||
; Byte 6: Flags 6 (mapper low, mirroring, battery, trainer)
|
||||
; Byte 7: Flags 7 (mapper high, VS/PlayChoice, NES 2.0)
|
||||
; Bytes 8-15: Reserved (usually zero)
|
||||
|
||||
.segment "HEADER"
|
||||
.byte "NES", $1A ; $00-$03: Magic
|
||||
.byte 1 ; $04: PRG ROM size (1 x 16 KB = 16 KB)
|
||||
.byte 1 ; $05: CHR ROM size (1 x 8 KB = 8 KB)
|
||||
.byte $01 ; $06: Mapper 0, horizontal mirroring, no battery, no trainer
|
||||
.byte $00 ; $07: Mapper 0 high, no VS/PlayChoice
|
||||
.byte 0, 0, 0, 0, 0, 0, 0, 0 ; $08-$0F: Reserved
|
||||
@@ -0,0 +1,520 @@
|
||||
label Label_C000 InitAPU_C000
|
||||
label Label_C003 CheckControllerStart
|
||||
label Label_C026 ScaleInputIndex
|
||||
label Label_C04E SetAPUVolume
|
||||
label Label_C056 SetAPUSweep
|
||||
label Label_C058 InitAPUWaveform
|
||||
label Label_C05E SaveXY
|
||||
label Label_C063 InitSoundPointers
|
||||
label Label_C06E UpdateControllerState
|
||||
label Label_C087 InitControllerTables
|
||||
label Label_C0A0 InitControllerTablesLoop
|
||||
label Label_C0AE InitControllerTablesAlt
|
||||
label Label_C0B1 InitControllerTablesExit
|
||||
label Label_C0CF InitPPU
|
||||
label Label_C0E0 InitPPULoop
|
||||
label Label_C0F1 InitAPUFrameCounter
|
||||
label Label_C0F8 InitAPUFrameCounterExit
|
||||
label Label_C0FC InitPPUFinal
|
||||
label Label_C18D LoadBackgroundData
|
||||
label Label_C195 LoadBackgroundDataLoop
|
||||
label Label_C199 LoadBackgroundDataAlt
|
||||
label Label_C19B LoadBackgroundDataExit
|
||||
label Label_C1A7 SetupSpriteData
|
||||
label Label_C1B2 SetupSpriteDataLoop
|
||||
label Label_C20F CopySpriteTables
|
||||
label Label_C22C CopySpriteTablesLoop
|
||||
label Label_C24D WaitVBlank
|
||||
label Label_C288 WaitVBlankLoop
|
||||
label Label_C2A5 InitGameVariables
|
||||
label Label_C2DE ClearRAM
|
||||
label Label_C30C ClearRAMPage
|
||||
label Label_C30D ClearRAMPageLoop
|
||||
label Label_C31B InitGameState
|
||||
label Label_C327 InitGameStateExit
|
||||
label Label_C332 InitAPUCall
|
||||
label Label_C335 InitAPU
|
||||
label Label_C352 ClearControllerState
|
||||
label Label_C358 InitAPURegisters
|
||||
label Label_C376 InitSpritesAlt1
|
||||
label Label_C37D InitSpritesAlt2
|
||||
label Label_C384 InitSpritesMain
|
||||
label Label_C3A0 InitSpritesLoop
|
||||
label Label_C3B3 InitSpritesExit_C3B3
|
||||
label Label_C3C8 InitSpritesAlt3
|
||||
label Label_C3E0 InitSpritesAlt4
|
||||
label Label_C3F5 InitSpritesAlt5
|
||||
label Label_C408 InitSpritesAlt6
|
||||
label Label_C41E InitSpritesAlt7
|
||||
label Label_C425 InitSpritesAlt8
|
||||
label Label_C438 InitSpritesAlt9
|
||||
label Label_C44E InitSpritesAlt10
|
||||
label Label_C465 InitGameState2
|
||||
label Label_C48A InitGameState2Exit
|
||||
label Label_C508 InitGameState3
|
||||
label Label_C533 InitGameState3Exit
|
||||
label Label_C5D1 InitGameState4
|
||||
label Label_C5FC InitGameState4Exit
|
||||
label Label_C66E Reset
|
||||
label Label_C66F ResetEntry
|
||||
label Label_C69E InitSystem
|
||||
label Label_CA02 WaitPPUReady
|
||||
label Label_CA07 WaitPPUReadyLoop
|
||||
label Label_CA0F InitStack
|
||||
label Label_CA11 LoadGameConfig
|
||||
label Label_CA14 InitVariables
|
||||
label Label_CA17 SetupInitialState
|
||||
label Label_CA19 SetupRAMPointer
|
||||
label Label_CA1D ClearRAMStart
|
||||
label Label_CA1F ClearRAMByte
|
||||
label Label_CA21 ClearRAMLoop
|
||||
label Label_CA2F StoreConfig
|
||||
label Label_CA32 CallInitRoutines
|
||||
label Label_CA35 CallInitRoutines2
|
||||
label Label_CA38 SetupScroll
|
||||
label Label_CA3A SetupScroll2
|
||||
label Label_CA40 SetupGameMode
|
||||
label Label_CA42 SetGameMode1
|
||||
label Label_CA44 SetZpA5
|
||||
label Label_CA46 InitAPURegisters2
|
||||
label Label_CA48 InitAPURegisters2Exit
|
||||
label Label_CA4B CallCheckControllerStart
|
||||
label Label_CA4E CallE7EF
|
||||
label Label_CA51 SetupPPUCtrl
|
||||
label Label_CA53 SetupPPUCtrlExit
|
||||
label Label_CA56 SetZp08
|
||||
label Label_CA58 SetZp09
|
||||
label Label_CA5C SetupX
|
||||
label Label_CA5E CopyConfigData
|
||||
label Label_CA69 TitleScreenLoop
|
||||
label Label_CA6D CheckGameMode
|
||||
label Label_CA6F CheckRoundIndex
|
||||
label Label_CA73 CallInitAPU
|
||||
label Label_CA76 GameplayFrame
|
||||
label Label_CA87 MainGameLoop
|
||||
label Label_CA8B CallCheckRoundEnd
|
||||
label Label_CA8E MainGameLoopJump
|
||||
label Label_CA91 NmiHandler
|
||||
label Label_CA9B NmiFrameUpdate
|
||||
label Label_CAA5 NmiVBlankOnly_CAA5
|
||||
label Label_CAAC NmiFrameUpdate2
|
||||
label Label_CAAF NmiFrameUpdate3
|
||||
label Label_CAB2 NmiFrameUpdate4
|
||||
label Label_CAB5 NmiExit
|
||||
label Label_CAC2 NmiVBlankOnly_CAC2
|
||||
label Label_CADA UpdateScroll
|
||||
label Label_CBE2 InitSprites
|
||||
label Label_CBF7 InitSpritesAlt
|
||||
label Label_CC0B InitSpritesExit
|
||||
label Label_CC46 UpdateSprites
|
||||
label Label_CC61 UpdateSpritesExit
|
||||
label Label_CC67 UpdateOAM_CC67
|
||||
label Label_CC77 UpdateOAMExit
|
||||
label Label_CC85 UpdateOAM_CC85
|
||||
label Label_CC95 UpdateOAMExit2
|
||||
label Label_CCAF UpdatePalettes
|
||||
label Label_CCC6 UpdatePalettes2
|
||||
label Label_CCCB UpdatePalettesExit
|
||||
label Label_CCCE UpdatePalettesLoop
|
||||
label Label_CCD0 UpdatePlayers
|
||||
label Label_CCDA UpdatePlayersExit
|
||||
label Label_CDE0 ProcessControllerInput
|
||||
label Label_CE43 ScrollBackground
|
||||
label Label_CE8B ScrollBackgroundExit
|
||||
label Label_CF92 UpdateSpritePositions
|
||||
label Label_CFA1 CheckRoundEnd
|
||||
label Label_CFAB CheckRoundEndExit
|
||||
label Label_CFC3 HandleKO
|
||||
label Label_CFD3 HandleKOExit
|
||||
label Label_CFE5 HandleTimeout
|
||||
label Label_CFF8 HandleTimeoutExit
|
||||
label Label_D01A UpdateRoundTimerInit
|
||||
label Label_D027 UpdateRoundTimerInitExit
|
||||
label Label_D057 UpdateRoundTimer
|
||||
label Label_D08E SpriteDMA
|
||||
label Label_D09D DrawBackground
|
||||
label Label_D174 UpdatePPUMask
|
||||
label Label_D187 UpdatePPUMaskExit
|
||||
label Label_D1A7 UpdatePPUMaskAlt
|
||||
label Label_D1C6 UpdatePPUMaskLoop
|
||||
label Label_D216 UpdateHUD
|
||||
label Label_D2E2 UpdateHUDExit
|
||||
label Label_D30A UpdateScore
|
||||
label Label_D3FA UpdateScoreLoop
|
||||
label Label_D40E UpdateScoreExit
|
||||
label Label_D469 DrawRoundNumber
|
||||
label Label_D5D1 DrawRoundNumberExit
|
||||
label Label_D7DB UpdatePlayerPositions
|
||||
label Label_D80C UpdatePlayerPositionsExit
|
||||
label Label_DAA7 CheckCollisions
|
||||
label Label_DADD CheckCollisionsExit
|
||||
label Label_DBCB UpdateTimers
|
||||
label Label_DBDC UpdateTimersExit
|
||||
label Label_DBFD ProcessInputs
|
||||
label Label_DE03 ProcessInputsExit
|
||||
label Label_DE24 ProcessInputsAlt
|
||||
label Label_DE2E ProcessInputsAltExit
|
||||
label Label_DEC9 UpdateRoundState
|
||||
label Label_DEE3 UpdateRoundStateExit
|
||||
label Label_DF4C UpdateRoundStateAlt
|
||||
label Label_DF5E UpdateRoundStateAltExit
|
||||
label Label_E00F HandlePlayer1
|
||||
label Label_E02B HandlePlayer1Exit
|
||||
label Label_E048 HandlePlayer2
|
||||
label Label_E064 HandlePlayer2Exit
|
||||
label Label_E076 HandlePlayer1Alt
|
||||
label Label_E08D HandlePlayer1Entry
|
||||
label Label_E11D HandlePlayer2Entry
|
||||
label Label_E223 HandlePlayer1Logic
|
||||
label Label_E2B9 HandlePlayer2Logic
|
||||
label Label_E2C9 HandlePlayerLogicExit
|
||||
label Label_E350 HandleGameOver
|
||||
label Label_E3B2 HandleGameOverExit
|
||||
label Label_E3E0 HandleRoundStart
|
||||
label Label_E40E HandleRoundStartExit
|
||||
label Label_E459 UpdateSound
|
||||
label Label_E48B UpdateSoundExit
|
||||
label Label_E4A4 UpdateSoundAlt
|
||||
label Label_E4E2 UpdateSoundAltExit
|
||||
label Label_E506 PlaySoundEffect
|
||||
label Label_E535 PlaySoundEffectExit
|
||||
label Label_E54A PlaySoundEffectAlt
|
||||
label Label_E5B2 UpdateMusic
|
||||
label Label_E617 UpdateMusicExit
|
||||
label Label_E61B UpdateMusicAlt
|
||||
label Label_E6D4 UpdateMusicLoop
|
||||
label Label_E6FA UpdateMusicLoopExit
|
||||
label Label_E793 InitSpriteData
|
||||
label Label_E7B6 InitSpriteDataExit
|
||||
label Label_E7EF InitSound
|
||||
label Label_E7FE InitSoundExit
|
||||
|
||||
label Label_C39A InitSpritesLoop
|
||||
label Label_C3AD InitSpritesAltExit
|
||||
label Label_C3C3 InitSpritesCheckE6
|
||||
label Label_C3E3 InitSpritesSetE4
|
||||
label Label_C3E9 InitSpritesSetE6
|
||||
label Label_C3FF InitSpritesCallChain
|
||||
label Label_C405 InitSpritesClearEF
|
||||
label Label_C40E InitSpritesCheckF1
|
||||
label Label_C40F InitSpritesSetF3
|
||||
label Label_C444 InitSpritesCheckF2
|
||||
label Label_C44A InitSpritesSetF2
|
||||
label Label_C478 InitSpritesAlt1Entry
|
||||
label Label_C49C InitSpritesAlt1Loop
|
||||
label Label_C4A4 InitSpritesAlt2Entry
|
||||
label Label_C4A5 InitSpritesAlt2Loop
|
||||
label Label_C4BB InitSpritesCheck10B
|
||||
label Label_C4C3 InitSpritesInc10B
|
||||
label Label_C4CA InitSpritesCheck10BMax
|
||||
label Label_C4E3 InitSpritesCheck10C
|
||||
label Label_C4E6 InitSpritesCheck10CAF
|
||||
label Label_C4F4 InitSpritesSetF4
|
||||
label Label_C512 InitGameState3CheckE6
|
||||
label Label_C520 InitGameState3Loop
|
||||
label Label_C52D InitGameState3Alt
|
||||
label Label_C542 InitGameState4CheckF2
|
||||
label Label_C55A InitGameState4Loop
|
||||
label Label_C590 InitGameState4ClearEF
|
||||
label Label_C593 InitGameState4MaskF3
|
||||
label Label_C5A4 InitGameState4MaskEF
|
||||
label Label_C5AB InitGameState4CheckF9
|
||||
label Label_C5C5 InitGameState4DecD8
|
||||
label Label_C5CA InitGameState4CheckF2Alt
|
||||
label Label_C5F5 WaitVBlankLoop_C5F5
|
||||
label Label_C5F6 WaitVBlankDecD8
|
||||
label Label_C5F9 WaitVBlankDecD9
|
||||
label Label_C5FF WaitVBlankCheckFF
|
||||
label Label_C605 WaitVBlankCheckFA
|
||||
label Label_C60B WaitVBlankStore
|
||||
label Label_C622 WaitVBlankCallC1B2
|
||||
label Label_C637 WaitVBlankCallC1B2Alt
|
||||
label Label_C63D WaitVBlankCallC1B2Alt2
|
||||
label Label_C644 WaitVBlankJmpC20F
|
||||
label Label_C647 WaitVBlankZeroE4
|
||||
label Label_C64E WaitVBlankCallC1B2Zero
|
||||
label Label_CAE1 TitleScreenCheckMode
|
||||
label Label_CB06 CheckControllerStartEntry
|
||||
label Label_CB0F CheckControllerStartLoop
|
||||
label Label_CB31 CheckControllerStartExit
|
||||
label Label_CB4B CheckControllerStartWait
|
||||
label Label_CB4E CheckControllerStartJmp
|
||||
label Label_CB51 GameplayFrameCallD012
|
||||
label Label_CB55 GameplayFrameCallE70C
|
||||
label Label_CB61 TitleScreenLoopCallInitAPU
|
||||
label Label_CB66 UpdateScrollEntry
|
||||
label Label_CBB6 InitSpritesSetPos
|
||||
label Label_CBC0 InitSpritesZero5FF
|
||||
label Label_CBDA UpdateScrollLogic
|
||||
label Label_CBFB InitSpritesBeqCBFB
|
||||
label Label_CC02 UpdateScrollCheckZp1F
|
||||
label Label_CC15 InitSpritesIncY
|
||||
label Label_CC1B InitSpritesCpy02
|
||||
label Label_CC24 InitSpritesSet5FD
|
||||
label Label_CC29 UpdateScrollReadDispatch
|
||||
label Label_CC3A UpdateScrollCheckDispatch
|
||||
label Label_CC3E UpdateScrollReadZpA4
|
||||
label Label_CC42 UpdateScrollCheckDispatchAlt
|
||||
label Label_CC5C UpdateScrollCheckZpA4
|
||||
label Label_CC6E UpdateOAMSetPointer
|
||||
label Label_CC7B UpdateOAMClear200
|
||||
label Label_CC97 UpdateOAMCheckZp23
|
||||
label Label_CCAE UpdateOAMDecrement
|
||||
label Label_CCC3 UpdateOAMCheckZp27
|
||||
label Label_CCCF UpdateOAMZeroY
|
||||
label Label_CCE3 UpdatePalettesCheckZp27
|
||||
label Label_CCF3 UpdatePalettesZeroY
|
||||
label Label_CCFB ProcessControllerInputLoop
|
||||
label Label_CCFD ProcessControllerInputStore
|
||||
label Label_CD22 RoundLogicCheckZp21
|
||||
label Label_CD33 RoundLogicBeqCD84
|
||||
label Label_CD38 RoundLogicSet21
|
||||
label Label_CD41 ProcessControllerInputEntry
|
||||
label Label_CD5D ProcessControllerInputRead2002
|
||||
label Label_CD6C ProcessControllerInputAndFB
|
||||
label Label_CD76 ProcessControllerInputStaZp08
|
||||
label Label_CD84 ProcessControllerInputRead2002Alt
|
||||
label Label_CD85 ProcessControllerInputRead2002Alt2
|
||||
label Label_CD94 ProcessControllerInputAnd04
|
||||
label Label_CDAA ProcessControllerInputOra18
|
||||
label Label_CDC3 ProcessControllerInputStaZp09
|
||||
label Label_CDCA RoundLogicEntry
|
||||
label Label_CDD6 RoundLogicDecZp2A
|
||||
label Label_CDDC RoundLogicBplCDD6
|
||||
label Label_CDFE RoundLogicSaveXY
|
||||
label Label_CE14 ScrollBackgroundEntry
|
||||
label Label_CE20 ScrollBackgroundIncX
|
||||
label Label_CE23 ScrollBackgroundTXA_CE23
|
||||
label Label_CE26 ScrollBackgroundCmp6F_CE26
|
||||
label Label_CE3A ScrollBackgroundRead2002
|
||||
label Label_CE55 ScrollBackgroundSetZp21
|
||||
label Label_CE6C ScrollBackgroundLoop
|
||||
label Label_CE83 ScrollBackgroundInx
|
||||
label Label_CEAD ScrollBackgroundTXA_CEAD
|
||||
label Label_CEBD ScrollBackgroundCmp6F_CEBD
|
||||
label Label_CEBE ScrollBackgroundAdc01
|
||||
label Label_CEC5 ScrollBackgroundAnd0F
|
||||
label Label_CECE ScrollBackgroundStaZp01
|
||||
label Label_CEF1 ScrollBackgroundAdcZp01_CEF1
|
||||
label Label_CEF5 ScrollBackgroundCmp0A_CEF5
|
||||
label Label_CF23 ScrollBackgroundSbcZp01_CF23
|
||||
label Label_CF25 ScrollBackgroundStaZp01Alt
|
||||
label Label_CF4E ScrollBackgroundCallCF92
|
||||
label Label_CF4F ScrollBackgroundCallCF92Entry
|
||||
label Label_CF5A ScrollBackgroundAdcZp01_CF5A
|
||||
label Label_CF67 ScrollBackgroundCmp0A_CF67
|
||||
label Label_CF6B ScrollBackgroundSbcZp01_CF6B
|
||||
label Label_CF70 ScrollBackgroundCallCF92Alt
|
||||
label Label_CF83 ScrollBackgroundCallCF92Alt2
|
||||
label Label_CF8F ScrollBackgroundStaZp01Alt2
|
||||
label Label_CFB3 CheckRoundEndEntry
|
||||
label Label_D012 UpdateRoundTimerCallD057
|
||||
label Label_D015 UpdateRoundTimerBeq
|
||||
label Label_D030 DrawBackgroundEntry
|
||||
label Label_D034 DrawBackgroundSetZpA2
|
||||
label Label_D040 DrawBackgroundSetZpA2Alt
|
||||
label Label_D044 DrawBackgroundLdx0
|
||||
label Label_D050 UpdateRoundTimerInitSetPtr
|
||||
label Label_D05E UpdateRoundTimerInitSetZp09
|
||||
label Label_D066 UpdateRoundTimerInitCallCE3A
|
||||
label Label_D07A SetupInitialStateEntry
|
||||
label Label_D07E SetupInitialStateLoop
|
||||
label Label_D084 SpriteDMAEntry
|
||||
label Label_D086 SpriteDMALoop_D086
|
||||
label Label_D088 SpriteDMASetZp00
|
||||
label Label_D1A4 UpdatePPUMaskCheckZp85
|
||||
label Label_D1AE UpdatePPUMaskASL
|
||||
label Label_D1C4 UpdatePPUMaskEntry
|
||||
label Label_D1CA UpdatePPUMaskCheckZp8B
|
||||
label Label_D1E8 UpdatePPUMaskBCS
|
||||
label Label_D1EA UpdatePPUMaskLdx01
|
||||
label Label_D1F9 UpdatePPUMaskSetZp88
|
||||
label Label_D213 UpdatePlayersCheckZp00
|
||||
label Label_D243 UpdatePlayersBitZp00
|
||||
label Label_D254 UpdatePlayersCpyZp43
|
||||
label Label_D261 UpdatePlayersStxZp31
|
||||
label Label_D27B UpdatePlayersEntry
|
||||
label Label_D289 UpdatePlayersCpyZp43Alt
|
||||
label Label_D29E UpdatePlayersStyZp43
|
||||
label Label_D2A5 UpdatePlayersEntryAlt
|
||||
label Label_D2A7 UpdatePlayersStxZp31Alt
|
||||
label Label_D2A9 UpdatePlayersStyZp43Alt
|
||||
label Label_D2AD UpdatePlayersCallE4E2
|
||||
label Label_D2AF UpdatePlayersCallE4E2Alt
|
||||
label Label_D2B2 UpdatePlayersCallE5AC
|
||||
label Label_D2C4 UpdatePlayersCallE462
|
||||
label Label_D2CA UpdatePlayersCheckZp1F
|
||||
label Label_D300 UpdateScoreEntry
|
||||
label Label_D301 UpdateScoreCheckZp88
|
||||
label Label_D304 UpdateScoreSetZp31
|
||||
label Label_D313 UpdateScoreLoadZp1F
|
||||
label Label_D31F UpdateScoreBeqD31F
|
||||
label Label_D327 UpdateScoreLdxZp89
|
||||
label Label_D332 UpdateScoreCallE2B9
|
||||
label Label_D341 UpdateScoreCallE459
|
||||
label Label_D34B UpdateScoreCallE462
|
||||
label Label_D35E UpdateScoreCpy0D
|
||||
label Label_D367 UpdateScoreSetZp31Alt
|
||||
label Label_D392 UpdateScoreLdx02
|
||||
label Label_D3A4 UpdateScoreCheckZp88Alt
|
||||
label Label_D3BD UpdateScoreSetZp31Alt2
|
||||
label Label_D3C3 UpdateScoreBneD408
|
||||
label Label_D3CE UpdateScoreCallE46E
|
||||
label Label_D3D1 UpdateScoreBneD40E
|
||||
label Label_D3F3 UpdateScoreSetZp31Alt3
|
||||
label Label_D408 UpdateScoreBneD3CE
|
||||
label Label_D411 UpdateScoreLDY02
|
||||
label Label_D436 DrawRoundNumberCalc
|
||||
label Label_D444 DrawRoundNumberClc
|
||||
label Label_D447 DrawRoundNumberADC06
|
||||
label Label_D45B DrawRoundNumberCallE7A7
|
||||
label Label_D463 DrawRoundNumberCallE4E2
|
||||
label Label_D7FC UpdatePlayerPositionsCheckZp84
|
||||
label Label_D807 UpdatePlayerPositionsSetZp32
|
||||
label Label_D825 UpdatePlayerPositionsEntry
|
||||
label Label_D828 UpdatePlayerPositionsStxZp31
|
||||
label Label_DA25 TitleScreenSetMode
|
||||
label Label_DAB3 SpriteDMACheckZp96
|
||||
label Label_DB57 SpriteDMACmp02
|
||||
label Label_DB7D SpriteDMALoopEntry
|
||||
label Label_DB8E SpriteDMALdx0A
|
||||
label Label_DB91 SpriteDMABeqDB91
|
||||
label Label_DB92 SpriteDMALdy0A
|
||||
label Label_DB9E SpriteDMALdaF940
|
||||
label Label_DBA6 SpriteDMALoop_DBA6
|
||||
label Label_DBAA SpriteDMADex
|
||||
label Label_DBBF SpriteDMACheckZp93
|
||||
label Label_DBDD SpriteDMACallCDE0
|
||||
label Label_DBEF SpriteDMACallDD8C
|
||||
label Label_DBF0 SpriteDMARTS
|
||||
label Label_DCF6 UpdateTimersEntry
|
||||
label Label_DCFF UpdateTimersBeqDD33
|
||||
label Label_DD00 UpdateTimersCmp02
|
||||
label Label_DD33 UpdateTimersBeqDD33Alt
|
||||
label Label_DD34 UpdateTimersBeqDD34
|
||||
label Label_DD3B UpdateTimersCmp02Alt
|
||||
label Label_DD8C UpdateTimersAnd1F
|
||||
label Label_DD96 UpdateTimersBneDDAB
|
||||
label Label_DDAB UpdateTimersCallCDE0
|
||||
label Label_DE1C ProcessInputsEntry
|
||||
label Label_DE35 ProcessInputsCheckZp1F
|
||||
label Label_DF53 HandleKOEntry
|
||||
label Label_DF74 HandleKOLda05EC
|
||||
label Label_DF75 HandleKOAnd07
|
||||
label Label_DF7A HandleKOLoop
|
||||
label Label_DF8D HandleKOCmp07
|
||||
label Label_DF9E HandleKOCheckZp88
|
||||
label Label_DFAE HandleKOBeqDFB7
|
||||
label Label_DFB7 HandleKOLda0321
|
||||
label Label_DFDA HandleKODex
|
||||
label Label_DFDF HandleKODexBne
|
||||
label Label_DFE4 HandleKOCheckZp1F
|
||||
label Label_DFE5 HandleKOBeqDFE4
|
||||
label Label_E040 HandlePlayer1CheckZpC0
|
||||
label Label_E052 HandlePlayer1BeqE075
|
||||
label Label_E056 HandlePlayer1LdxZp89
|
||||
label Label_E06D HandlePlayer1CallE1CD
|
||||
label Label_E073 HandlePlayer1CallE1FD
|
||||
label Label_E075 HandlePlayer1Entry
|
||||
label Label_E0B4 HandlePlayer1CheckZp87
|
||||
label Label_E0B7 HandlePlayer1BeqE235
|
||||
label Label_E11A HandlePlayer2CallE1FD
|
||||
label Label_E11C HandlePlayer2Entry
|
||||
label Label_E1CD HandlePlayer2CallE1FDEntry
|
||||
label Label_E1FD HandlePlayer2Dex
|
||||
label Label_E207 HandlePlayer1LogicLdxZp36
|
||||
label Label_E20D HandlePlayer1LogicInx
|
||||
label Label_E21E HandlePlayer1LogicLda0258
|
||||
label Label_E235 HandlePlayer1LogicBeq
|
||||
label Label_E236 HandlePlayer1LogicLdaZp87
|
||||
label Label_E24A HandlePlayer1LogicCallE4E2
|
||||
label Label_E255 HandlePlayer1LogicCallE5AC
|
||||
label Label_E26C HandlePlayer1LogicCallE4E2Alt
|
||||
label Label_E290 HandlePlayer2LogicEntry
|
||||
label Label_E29C HandlePlayer2LogicCpyZp43
|
||||
label Label_E2A3 HandlePlayer2LogicStxZp31
|
||||
label Label_E2B8 HandlePlayer2LogicCallE4E2
|
||||
label Label_E2C1 HandlePlayer2LogicCallE5AC
|
||||
label Label_E2D8 HandlePlayer2LogicCallE4E2Alt
|
||||
label Label_E2E5 HandlePlayer2LogicCallE4E2Alt2
|
||||
label Label_E2FF HandlePlayer2LogicCallE4E2Alt3
|
||||
label Label_E30F HandleGameOverEntry
|
||||
label Label_E312 HandleGameOverCallE4E2
|
||||
label Label_E31E HandleGameOverCallE5AC
|
||||
label Label_E334 HandleGameOverCallE4E2Alt
|
||||
label Label_E346 HandleGameOverCallE4E2Alt2
|
||||
label Label_E34F HandleGameOverCallE4E2Alt3
|
||||
label Label_E418 HandleRoundStartEntry
|
||||
label Label_E41A HandleRoundStartCallE4E2
|
||||
label Label_E42A HandleRoundStartCallE5AC
|
||||
label Label_E438 HandleRoundStartCallE4E2Alt
|
||||
label Label_E450 HandleRoundStartCallE4E2Alt2
|
||||
label Label_E458 HandleRoundStartCallE4E2Alt3
|
||||
label Label_E461 HandleRoundStartCallE4E2Alt4
|
||||
label Label_E462 UpdateSoundEntry
|
||||
label Label_E469 UpdateSoundCallE4E2
|
||||
label Label_E46E UpdateSoundCallE5AC
|
||||
label Label_E479 UpdateSoundCallE4E2Alt
|
||||
label Label_E48A UpdateSoundCallE4E2Alt2
|
||||
label Label_E496 UpdateSoundCallE4E2Alt3
|
||||
label Label_E4AE UpdateSoundCallE5ACAlt
|
||||
label Label_E4BD UpdateSoundCallE4E2Alt5
|
||||
label Label_E4BF UpdateSoundCallE4E2Alt6
|
||||
label Label_E4EA UpdateSoundCallE5ACAlt2
|
||||
label Label_E4F6 UpdateSoundCallE4E2Alt7
|
||||
label Label_E50A PlaySoundEffectEntry
|
||||
label Label_E52A PlaySoundEffectCallE4E2
|
||||
label Label_E52B PlaySoundEffectCallE5AC
|
||||
label Label_E52F PlaySoundEffectCallE4E2Alt
|
||||
label Label_E543 PlaySoundEffectCallE4E2Alt2
|
||||
label Label_E549 PlaySoundEffectCallE5ACAlt
|
||||
label Label_E56B PlaySoundEffectCallE4E2Alt3
|
||||
label Label_E582 PlaySoundEffectCallE5ACAlt2
|
||||
label Label_E594 PlaySoundEffectCallE4E2Alt4
|
||||
label Label_E595 PlaySoundEffectCallE5ACAlt3
|
||||
label Label_E5AB UpdateMusicEntry
|
||||
label Label_E5AC UpdateMusicCallE4E2
|
||||
label Label_E5CD UpdateMusicCallE5AC
|
||||
label Label_E5D9 UpdateMusicCallE4E2Alt
|
||||
label Label_E5E4 UpdateMusicCallE4E2Alt2
|
||||
label Label_E5E5 UpdateMusicCallE5ACAlt
|
||||
label Label_E5FB UpdateMusicCallE5ACAlt2
|
||||
label Label_E60E UpdateMusicCallE4E2Alt3
|
||||
label Label_E62D UpdateMusicCallE5ACAlt3
|
||||
label Label_E62F UpdateMusicCallE4E2Alt4
|
||||
label Label_E630 UpdateMusicCallE5ACAlt4
|
||||
label Label_E641 UpdateMusicCallE4E2Alt5
|
||||
label Label_E65A UpdateMusicCallE5ACAlt5
|
||||
label Label_E669 UpdateMusicCallE4E2Alt6
|
||||
label Label_E695 UpdateMusicLoopEntry
|
||||
label Label_E6A8 UpdateMusicLoopCallE4E2
|
||||
label Label_E6BE UpdateMusicLoopCallE5AC
|
||||
label Label_E6CE UpdateMusicLoopCallE4E2Alt
|
||||
label Label_E6DD UpdateMusicLoopCallE4E2Alt2
|
||||
label Label_E6E3 UpdateMusicLoopCallE5ACAlt
|
||||
label Label_E6E6 UpdateMusicLoopCallE4E2Alt3
|
||||
label Label_E6F2 UpdateMusicLoopCallE5ACAlt2
|
||||
label Label_E6F9 UpdateMusicLoopCallE4E2Alt4
|
||||
label Label_E70C InitSpriteDataEntry
|
||||
label Label_E72D InitSpriteDataLoop
|
||||
label Label_E749 InitSpriteDataCallE4E2
|
||||
label Label_E753 InitSpriteDataCallE5AC
|
||||
label Label_E764 InitSpriteDataCallE4E2Alt
|
||||
label Label_E768 InitSpriteDataCallE5ACAlt
|
||||
label Label_E777 InitSpriteDataCallE4E2Alt2
|
||||
label Label_E77C InitSpriteDataCallE5ACAlt2
|
||||
label Label_E7A7 InitSpriteDataCallE4E2Alt3
|
||||
label Label_E7AB InitSpriteDataCallE5ACAlt3
|
||||
label Label_E7AF InitSpriteDataCallE4E2Alt4
|
||||
label Label_E7B1 InitSpriteDataCallE5ACAlt4
|
||||
label Label_E7BE InitSpriteDataCallE4E2Alt5
|
||||
label Label_E7C6 InitSpriteDataCallE5ACAlt5
|
||||
label Label_E7D6 InitSpriteDataCallE4E2Alt6
|
||||
label Label_E7DB InitSpriteDataCallE5ACAlt6
|
||||
label Label_E7F7 InitSoundEntry
|
||||
label Label_E7F9 InitSoundCallE4E2
|
||||
label Label_E80B InitSoundCallE5AC
|
||||
label Label_E80C InitSoundExit_E80C
|
||||
label Label_D2C7 UpdatePlayersCallE462_CF
|
||||
label Label_DB48 SpriteDMACheckZp96_DB48
|
||||
label Label_DFBC HandleKOCheckZp1F_DFBC
|
||||
|
@@ -0,0 +1,10 @@
|
||||
MEMORY {
|
||||
HEADER: start = $0000, size = $0010, file = %O, fill = yes;
|
||||
PRG: start = $C000, size = $4000, file = %O, fill = yes;
|
||||
CHR: start = $0000, size = $2000, file = %O, fill = yes;
|
||||
}
|
||||
SEGMENTS {
|
||||
HEADER: load = HEADER, type = ro;
|
||||
PRG: load = PRG, type = ro;
|
||||
CHR: load = CHR, type = ro;
|
||||
}
|
||||
@@ -0,0 +1,159 @@
|
||||
; Urban Champion (JU) application-specific RAM aliases - Pass 1
|
||||
; Generated from every direct zero-page operand in reachable code:
|
||||
; ref counts are reads/writes, `where` lists the referencing addresses.
|
||||
; ZpXX names indicate storage with a role not yet unique enough for a behavioral name;
|
||||
; Pass 2 replaces them with names derived from observed usage.
|
||||
|
||||
Zp00 = $00 ; 54 refs; reads=33 writes=21; used at $CA1D, CA21, CC72, CC97, +49 more
|
||||
Zp01 = $01 ; 32 refs; reads=13 writes=19; used at $CA19, CA26, CC6E, CC99, +26 more
|
||||
Zp02 = $02 ; 15 refs; reads=9 writes=6; used at $CD02, CD33, CD9A, CDB3, +11 more
|
||||
Zp03 = $03 ; 10 refs; reads=3 writes=7; used at $CED1, CEDC, CEE7, CEF8, +6 more
|
||||
Zp04 = $04 ; 5 refs; reads=2 writes=3; used at $CE67, CEA3, CEC6, E2D1
|
||||
Zp05 = $05 ; 5 refs; reads=3 writes=2; used at $CE5F, CE7C, CEE9, CF10, +1 more
|
||||
Zp06 = $06 ; 6 refs; reads=3 writes=3; used at $CE7E, CE8C, CEDE, CF05, +1 more
|
||||
Zp07 = $07 ; 7 refs; reads=4 writes=3; used at $CED3, CEFA, CFA6, CFAD, +3 more
|
||||
Zp08 = $08 ; 11 refs; reads=6 writes=5; used at $CA56, CD4D, CD54, CD88, +7 more
|
||||
Zp09 = $09 ; 11 refs; reads=5 writes=6; used at $CA5A, CAC2, CAC6, CACE, +7 more
|
||||
Zp0A = $0A ; 1 refs; reads=1 writes=0; used at $CE44
|
||||
Zp0B = $0B ; 1 refs; reads=1 writes=0; used at $CE49
|
||||
Zp0C = $0C ; 7 refs; reads=5 writes=2; used at $E236, E25A, E267, E2A5, +3 more
|
||||
Zp0D = $0D ; 5 refs; reads=4 writes=1; used at $E238, E25C, E261, E2AE, +1 more
|
||||
Zp0E = $0E ; 2 refs; reads=1 writes=1; used at $E26C, E294
|
||||
Zp0F = $0F ; 7 refs; reads=3 writes=4; used at $E2A3, E2B3, E6E6, E6EB, +2 more
|
||||
Zp10 = $10 ; 5 refs; reads=4 writes=1; used at $E5C2, E5CF, E5E8, E5ED, +1 more
|
||||
Zp11 = $11 ; 1 refs; reads=0 writes=1; used at $E5C7
|
||||
Zp12 = $12 ; 8 refs; reads=6 writes=2; used at $E5BA, E5C0, E5C5, E5EB, +4 more
|
||||
Zp13 = $13 ; 2 refs; reads=0 writes=2; used at $E5BE, E5E5
|
||||
Zp14 = $14 ; 10 refs; reads=6 writes=4; used at $CDE8, CDED, CDF1, CDF5, +6 more
|
||||
Zp15 = $15 ; 4 refs; reads=0 writes=4; used at $CDEB, CDF3, E244, E722
|
||||
Zp16 = $16 ; 5 refs; reads=4 writes=1; used at $CAE1, CBDA, CCFE, CD12, +1 more
|
||||
Zp18 = $18 ; 10 refs; reads=5 writes=5; used at $CD22, CD24, CD29, CD2F, +6 more
|
||||
Zp19 = $19 ; 5 refs; reads=1 writes=4; used at $DE0F, DECB, DF75, DF77, +1 more
|
||||
Zp1A = $1A ; 3 refs; reads=1 writes=2; used at $E5CB, E5CD, E613
|
||||
Zp1B = $1B ; 13 refs; reads=7 writes=6; used at $E62D, E63A, E63C, E65A, +5 more
|
||||
Zp1C = $1C ; 3 refs; reads=1 writes=2; used at $CB40, CCBD
|
||||
Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $CB22, CCCB
|
||||
Zp1E = $1E ; 1 refs; reads=1 writes=0; used at $D062
|
||||
Zp1F = $1F ; 8 refs; reads=8 writes=0; used at $D313, DE03, DFBC, E0A6, +4 more
|
||||
Zp20 = $20 ; 4 refs; reads=2 writes=2; used at $CA87, CAB9, D015, D059
|
||||
Zp21 = $21 ; 3 refs; reads=1 writes=2; used at $CD41, CD82, CE57
|
||||
Zp22 = $22 ; 3 refs; reads=1 writes=2; used at $CAA5, CAB7, D05B
|
||||
Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $CC85, CC95
|
||||
Zp24 = $24 ; 5 refs; reads=2 writes=3; used at $CA42, CA69, CADA, CBE4, +1 more
|
||||
Zp25 = $25 ; 8 refs; reads=3 writes=5; used at $CAF0, CB20, CB2A, CB3C, +4 more
|
||||
Zp26 = $26 ; 5 refs; reads=4 writes=1; used at $CA6D, CBCB, CBF7, CC5C, +1 more
|
||||
Zp27 = $27 ; 2 refs; reads=1 writes=1; used at $CCAF, CCB5
|
||||
Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $CDE0, CDF7
|
||||
Zp29 = $29 ; 2 refs; reads=1 writes=1; used at $CDE2, CDF9
|
||||
Zp2A = $2A ; 8 refs; reads=4 writes=4; used at $CB0F, CBF2, CCC6, CDCC, +3 more
|
||||
Zp2B = $2B ; 6 refs; reads=4 writes=2; used at $CDD6, CDDA, D7EB, D7F1, +1 more
|
||||
Zp2D = $2D ; 6 refs; reads=2 writes=4; used at $CBF4, CBFD, CC3C, D05E, +2 more
|
||||
Zp2E = $2E ; 2 refs; reads=1 writes=1; used at $DD36, DD3B
|
||||
Zp2F = $2F ; 2 refs; reads=1 writes=1; used at $CA82
|
||||
Zp30 = $30 ; 4 refs; reads=2 writes=2; used at $D037, D044, D088, E5AC
|
||||
Zp31 = $31 ; 9 refs; reads=5 writes=4; used at $D216, D248, D256, D2A7, +5 more
|
||||
Zp32 = $32 ; 14 refs; reads=6 writes=8; used at $D30A, D35C, D3DB, D809, +9 more
|
||||
Zp33 = $33 ; 10 refs; reads=6 writes=4; used at $D3F4, D3F6, E0C7, E1F1, +6 more
|
||||
Zp34 = $34 ; 10 refs; reads=5 writes=5; used at $D7F5, D7F7, D801, D821, +6 more
|
||||
Zp35 = $35 ; 10 refs; reads=3 writes=7; used at $D3E5, D7E7, D805, D80E, +6 more
|
||||
Zp36 = $36 ; 2 refs; reads=2 writes=0; used at $E207, E5B0
|
||||
Zp37 = $37 ; 1 refs; reads=1 writes=0; used at $E5D9
|
||||
Zp38 = $38 ; 1 refs; reads=1 writes=0; used at $E64D
|
||||
Zp3A = $3A ; 2 refs; reads=1 writes=1; used at $D3D5, E580
|
||||
Zp3C = $3C ; 1 refs; reads=1 writes=0; used at $E649
|
||||
Zp3D = $3D ; 3 refs; reads=2 writes=1; used at $CF2F, D31F
|
||||
Zp3E = $3E ; 9 refs; reads=4 writes=5; used at $D25A, D3C5, D3E9, E49C, +4 more
|
||||
Zp40 = $40 ; 3 refs; reads=1 writes=2; used at $DE1C, DED3, DFB9
|
||||
Zp41 = $41 ; 6 refs; reads=3 writes=3; used at $D3FA, E464, E4E2, E4E6, +1 more
|
||||
Zp42 = $42 ; 4 refs; reads=2 writes=2; used at $D400, E466, E508, E51C
|
||||
Zp43 = $43 ; 9 refs; reads=6 writes=3; used at $D243, D2A9, D2AD, D3AA, +5 more
|
||||
Zp44 = $44 ; 5 refs; reads=4 writes=1; used at $D2A0, D33C, D3C9, D42F, +1 more
|
||||
Zp45 = $45 ; 3 refs; reads=2 writes=1; used at $D206, D20A
|
||||
Zp46 = $46 ; 3 refs; reads=1 writes=2; used at $D202, D30E, D3DF
|
||||
Zp47 = $47 ; 2 refs; reads=1 writes=1; used at $D3AE, D3B4
|
||||
Zp49 = $49 ; 4 refs; reads=2 writes=2; used at $E410, E414, E438
|
||||
Zp4A = $4A ; 2 refs; reads=1 writes=1; used at $E418, E456
|
||||
Zp4C = $4C ; 2 refs; reads=1 writes=1; used at $D333, D455
|
||||
Zp4D = $4D ; 1 refs; reads=1 writes=0; used at $DF97
|
||||
Zp4F = $4F ; 2 refs; reads=1 writes=1; used at $D267, D295
|
||||
Zp70 = $70 ; 4 refs; reads=2 writes=2; used at $E05D, E061, E066
|
||||
Zp71 = $71 ; 1 refs; reads=1 writes=0; used at $DFC7
|
||||
Zp80 = $80 ; 5 refs; reads=4 writes=1; used at $D18B, E316, E326, E338
|
||||
Zp81 = $81 ; 8 refs; reads=6 writes=2; used at $D191, DBDD, E301, E312, +3 more
|
||||
Zp82 = $82 ; 8 refs; reads=7 writes=1; used at $D7E1, DE11, E0CB, E2DC, +3 more
|
||||
Zp84 = $84 ; 8 refs; reads=5 writes=3; used at $D7DB, DBC6, DBFA, DCFD, +3 more
|
||||
Zp85 = $85 ; 3 refs; reads=3 writes=0; used at $C5BD, D174, DB86
|
||||
Zp86 = $86 ; 2 refs; reads=1 writes=1; used at $CA97, D184
|
||||
Zp87 = $87 ; 5 refs; reads=3 writes=2; used at $D1B4, D1B8, E223, E233
|
||||
Zp88 = $88 ; 11 refs; reads=8 writes=3; used at $D1EE, D261, D291, D304, +7 more
|
||||
Zp89 = $89 ; 22 refs; reads=19 writes=3; used at $D1C6, D2B8, D2BD, D2CC, +18 more
|
||||
Zp8A = $8A ; 1 refs; reads=1 writes=0; used at $DAA9
|
||||
Zp8B = $8B ; 3 refs; reads=1 writes=2; used at $D1CA, D1F1, E5A0
|
||||
Zp8D = $8D ; 1 refs; reads=0 writes=1; used at $DECF
|
||||
Zp8E = $8E ; 2 refs; reads=1 writes=1; used at $DF53
|
||||
Zp8F = $8F ; 2 refs; reads=1 writes=1; used at $DFD8, DFE2
|
||||
Zp90 = $90 ; 5 refs; reads=3 writes=2; used at $DCF9, DD00, DD38, DD7A
|
||||
Zp93 = $93 ; 4 refs; reads=4 writes=0; used at $D2E2, DBBF, E076, E2D8
|
||||
Zp94 = $94 ; 2 refs; reads=2 writes=0; used at $DB5D, DBB4
|
||||
Zp95 = $95 ; 2 refs; reads=2 writes=0; used at $DB62, DBB9
|
||||
Zp96 = $96 ; 7 refs; reads=3 writes=4; used at $CB26, DB48, DB54, DB57, +1 more
|
||||
Zp97 = $97 ; 3 refs; reads=1 writes=2; used at $DB5B, DB92
|
||||
ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $D030, D040
|
||||
ZpA3 = $A3 ; 4 refs; reads=2 writes=2; used at $E7FE, E806, E80E
|
||||
ZpA4 = $A4 ; 1 refs; reads=1 writes=0; used at $CC46
|
||||
ZpA5 = $A5 ; 4 refs; reads=2 writes=2; used at $CA44, CC4B, E08C
|
||||
ZpAB = $AB ; 1 refs; reads=1 writes=0; used at $E08A
|
||||
ZpAC = $AC ; 1 refs; reads=1 writes=0; used at $DECD
|
||||
ZpB1 = $B1 ; 2 refs; reads=1 writes=1; used at $E5FE, E66A
|
||||
ZpB2 = $B2 ; 2 refs; reads=1 writes=1; used at $E611, E6BF
|
||||
ZpB3 = $B3 ; 5 refs; reads=3 writes=2; used at $E64B, E651, E655, E680, +1 more
|
||||
ZpB4 = $B4 ; 14 refs; reads=9 writes=5; used at $E5B2, E5D5, E66F, E674, +6 more
|
||||
ZpB9 = $B9 ; 1 refs; reads=0 writes=1; used at $CBC7
|
||||
ZpBA = $BA ; 1 refs; reads=0 writes=1; used at $CBC9
|
||||
ZpC0 = $C0 ; 8 refs; reads=5 writes=3; used at $CBE8, CC29, CC2F, CC42, +4 more
|
||||
ZpC1 = $C1 ; 2 refs; reads=2 writes=0; used at $E73E, E749
|
||||
ZpC3 = $C3 ; 3 refs; reads=2 writes=1; used at $CECA, CEF1, CF27
|
||||
ZpC4 = $C4 ; 6 refs; reads=3 writes=3; used at $CEE5, CEEE, CF0C, CF15, +2 more
|
||||
ZpC5 = $C5 ; 7 refs; reads=4 writes=3; used at $CEDA, CEE3, CF01, CF0A, +3 more
|
||||
ZpC6 = $C6 ; 8 refs; reads=5 writes=3; used at $CECF, CED8, CEF6, CEFF, +4 more
|
||||
ZpCC = $CC ; 2 refs; reads=1 writes=1; used at $D2E6, D338
|
||||
ZpCD = $CD ; 1 refs; reads=0 writes=1; used at $E280
|
||||
ZpCE = $CE ; 1 refs; reads=0 writes=1; used at $E27A
|
||||
ZpCF = $CF ; 2 refs; reads=1 writes=1; used at $E272, E29C
|
||||
ZpD0 = $D0 ; 8 refs; reads=4 writes=4; used at $C1F5, C221, C223, C323, +2 more
|
||||
ZpD1 = $D1 ; 4 refs; reads=2 writes=2; used at $C1F7, C25F, C261
|
||||
ZpD2 = $D2 ; 4 refs; reads=2 writes=2; used at $C1F9, C29A, C29C
|
||||
ZpD3 = $D3 ; 4 refs; reads=2 writes=2; used at $C1FB, C2F0, C2F2
|
||||
ZpD4 = $D4 ; 2 refs; reads=1 writes=1; used at $C321, C330
|
||||
ZpD8 = $D8 ; 3 refs; reads=1 writes=2; used at $C1EB, C213
|
||||
ZpD9 = $D9 ; 3 refs; reads=1 writes=2; used at $C1ED, C251
|
||||
ZpDA = $DA ; 3 refs; reads=1 writes=2; used at $C1EF, C28C
|
||||
ZpDB = $DB ; 3 refs; reads=1 writes=2; used at $C1F1, C2E2
|
||||
ZpDC = $DC ; 1 refs; reads=0 writes=1; used at $C02F
|
||||
ZpE0 = $E0 ; 6 refs; reads=3 writes=3; used at $C31B, C31F, C32A, C32C
|
||||
ZpE4 = $E4 ; 2 refs; reads=0 writes=2; used at $C360, C649
|
||||
ZpE5 = $E5 ; 2 refs; reads=1 writes=1; used at $C029, C1BF
|
||||
ZpE6 = $E6 ; 10 refs; reads=7 writes=3; used at $C04E, C1B6, C35E, C3B3, +6 more
|
||||
ZpE9 = $E9 ; 1 refs; reads=0 writes=1; used at $C05E
|
||||
ZpEA = $EA ; 1 refs; reads=0 writes=1; used at $C060
|
||||
ZpEB = $EB ; 4 refs; reads=0 writes=4; used at $C21F, C25D, C294, C2EA
|
||||
ZpEC = $EC ; 1 refs; reads=0 writes=1; used at $C067
|
||||
ZpED = $ED ; 4 refs; reads=0 writes=4; used at $C21B, C259, C298, C2EE
|
||||
ZpEE = $EE ; 1 refs; reads=0 writes=1; used at $C065
|
||||
ZpEF = $EF ; 19 refs; reads=11 writes=8; used at $C074, C078, C095, C099, +15 more
|
||||
ZpF0 = $F0 ; 7 refs; reads=3 writes=4; used at $C0BD, C34B, C3C9, CC31, +3 more
|
||||
ZpF1 = $F1 ; 9 refs; reads=5 writes=4; used at $C0B1, C34D, C3C3, C465, +5 more
|
||||
ZpF2 = $F2 ; 6 refs; reads=2 writes=4; used at $C34F, C5D1, CC35, D19F, +2 more
|
||||
ZpF3 = $F3 ; 15 refs; reads=8 writes=7; used at $C06E, C072, C0C8, C0CF, +11 more
|
||||
ZpF4 = $F4 ; 2 refs; reads=0 writes=2; used at $C19B, C1A9
|
||||
ZpF5 = $F5 ; 1 refs; reads=0 writes=1; used at $C19F
|
||||
ZpF6 = $F6 ; 2 refs; reads=1 writes=1; used at $C1A1, C1A7
|
||||
ZpF7 = $F7 ; 1 refs; reads=0 writes=1; used at $C1A3
|
||||
ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $C1C4, C225
|
||||
ZpF9 = $F9 ; 2 refs; reads=1 writes=1; used at $C1C9, C20F
|
||||
ZpFA = $FA ; 2 refs; reads=1 writes=1; used at $C1CE, C263
|
||||
ZpFB = $FB ; 2 refs; reads=1 writes=1; used at $C1D3, C24D
|
||||
ZpFC = $FC ; 2 refs; reads=1 writes=1; used at $C1D8, C29E
|
||||
ZpFD = $FD ; 2 refs; reads=1 writes=1; used at $C1DD, C288
|
||||
ZpFE = $FE ; 2 refs; reads=1 writes=1; used at $C1E2, C2F4
|
||||
ZpFF = $FF ; 2 refs; reads=1 writes=1; used at $C1E7, C2DE
|
||||
Binary file not shown.
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,435 @@
|
||||
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
|
||||
@@ -0,0 +1,32 @@
|
||||
Modules list:
|
||||
-------------
|
||||
header.o:
|
||||
HEADER Offs=000000 Size=000010 Align=00001 Fill=0000
|
||||
prg.o:
|
||||
PRG Offs=000000 Size=004000 Align=00001 Fill=0000
|
||||
chr.o:
|
||||
CHR Offs=000000 Size=002000 Align=00001 Fill=0000
|
||||
|
||||
|
||||
Segment list:
|
||||
-------------
|
||||
Name Start End Size Align
|
||||
----------------------------------------------------
|
||||
CHR 000000 001FFF 002000 00001
|
||||
HEADER 000000 00000F 000010 00001
|
||||
PRG 00C000 00FFFF 004000 00001
|
||||
|
||||
|
||||
Exports list by name:
|
||||
---------------------
|
||||
|
||||
|
||||
|
||||
Exports list by value:
|
||||
----------------------
|
||||
|
||||
|
||||
|
||||
Imports list:
|
||||
-------------
|
||||
|
||||
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
../Urban Champion (JU).nes
|
||||
@@ -0,0 +1,108 @@
|
||||
; =============================================================================
|
||||
; Nintendo Entertainment System hardware symbols
|
||||
; =============================================================================
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; PPU registers
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
PPUCTRL = $2000
|
||||
PPUMASK = $2001
|
||||
PPUSTATUS = $2002
|
||||
OAMADDR = $2003
|
||||
OAMDATA = $2004
|
||||
PPUSCROLL = $2005
|
||||
PPUADDR = $2006
|
||||
PPUDATA = $2007
|
||||
|
||||
OAMDMA = $4014
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; Controller ports
|
||||
;
|
||||
; $4016:
|
||||
; Write: controller strobe
|
||||
; Read: controller port 1
|
||||
;
|
||||
; $4017:
|
||||
; Read: controller port 2
|
||||
; Write: APU frame counter
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
JOY1 = $4016
|
||||
JOY2 = $4017
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU pulse channel 1
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUPULSE1CTRL = $4000
|
||||
APUPULSE1SWEEP = $4001
|
||||
APUPULSE1TIMERLO = $4002
|
||||
APUPULSE1TIMERHI = $4003
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU pulse channel 2
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUPULSE2CTRL = $4004
|
||||
APUPULSE2SWEEP = $4005
|
||||
APUPULSE2TIMERLO = $4006
|
||||
APUPULSE2TIMERHI = $4007
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU triangle channel
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUTRIANGLECTRL = $4008
|
||||
APUTRIANGLETIMERLO = $400A
|
||||
APUTRIANGLETIMERHI = $400B
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU noise channel
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUNOISECTRL = $400C
|
||||
APUNOISEPERIOD = $400E
|
||||
APUNOISELENGTH = $400F
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU DMC channel
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUDMCCTRL = $4010
|
||||
APUDMCDIRECT = $4011
|
||||
APUDMCADDR = $4012
|
||||
APUDMCLENGTH = $4013
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; APU status and frame counter
|
||||
;
|
||||
; $4015:
|
||||
; Write: enable or disable the five APU channels
|
||||
; Read: channel and interrupt status
|
||||
;
|
||||
; $4017:
|
||||
; Write: APU frame-counter mode and IRQ inhibit
|
||||
; Read: controller port 2
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
APUSTATUS = $4015
|
||||
APUFRAMECOUNTER = $4017
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; Controller masks
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
PAD_RIGHT = $01
|
||||
PAD_LEFT = $02
|
||||
PAD_DOWN = $04
|
||||
PAD_UP = $08
|
||||
PAD_START = $10
|
||||
PAD_SELECT = $20
|
||||
PAD_B = $40
|
||||
PAD_A = $80
|
||||
|
||||
PAD_HORIZONTAL = PAD_LEFT | PAD_RIGHT
|
||||
PAD_VERTICAL = PAD_UP | PAD_DOWN
|
||||
PAD_DPAD = PAD_HORIZONTAL | PAD_VERTICAL
|
||||
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user