From b7104a8f806e2426b4f1c7d6786d38fccb172b6d Mon Sep 17 00:00:00 2001 From: Trevor Merritt Date: Sun, 18 Oct 2026 20:04:34 -0400 Subject: [PATCH] MUSCLE (U): Fix verify_pass1.py crash (a: prefix parsing), CDL reclass overrides Urban Champion (JU): Pass 1 complete (CDL verified), Pass 2 complete - 519 labels renamed to semantic names via pass2.py apply - 10 zero-page semantic aliases added to locals.inc - Branch table at CB70-CBAC restructured per CDL (CB70-CB90=data, CB91-CBAC=code) - E07F-E09D region fixed (misaligned decode at E08D) - BYTE-IDENTICAL at PRG level verified Tools: - cdl_reclass.py: overrides now win over CDL conflicts - nesdis.py: fixed a: prefix parsing for JSR/JMP operands; IND mode emits no a: prefix - verify_pass1.py: all 17 top-level projects pass, no crashes --- .../copilot/reconstructed.lbl | 21 + MUSCLE (U)/copilot/muscle.cdl | Bin 0 -> 24585 bytes MUSCLE (U)/copilot/muscle2.cdl | Bin 0 -> 24585 bytes MUSCLE (U)/copilot/muscle3.cdl | Bin 0 -> 24585 bytes MUSCLE (U)/copilot/prg.s | 196 +- OVERVIEW.md | 2 +- PROMPTS.md | 2 +- _tools/cdl_reclass.py | 3 +- _tools/nesdis.py | 9 +- _wip/Urban Champion (JU)/OVERVIEW.md | 73 +- .../Urban Champion (JU)/copilot/label_map.tsv | 520 ++ _wip/Urban Champion (JU)/copilot/locals.inc | 161 +- _wip/Urban Champion (JU)/copilot/prg.s | 7863 ++++++++++++++++- _wip/Urban Champion (JU)/copilot/prg2.s | 7863 +++++++++++++++++ .../copilot/reconstructed.lbl | 435 + .../copilot/urban_baseline.cdl | Bin 0 -> 24585 bytes .../copilot/urban_gameplay.cdl | Bin 0 -> 24585 bytes 17 files changed, 17025 insertions(+), 123 deletions(-) create mode 100644 MUSCLE (U)/copilot/muscle.cdl create mode 100644 MUSCLE (U)/copilot/muscle2.cdl create mode 100644 MUSCLE (U)/copilot/muscle3.cdl create mode 100644 _wip/Urban Champion (JU)/copilot/label_map.tsv create mode 100644 _wip/Urban Champion (JU)/copilot/prg2.s create mode 100644 _wip/Urban Champion (JU)/copilot/urban_baseline.cdl create mode 100644 _wip/Urban Champion (JU)/copilot/urban_gameplay.cdl diff --git a/Joypad Test Cartridge (U)/copilot/reconstructed.lbl b/Joypad Test Cartridge (U)/copilot/reconstructed.lbl index 5baa474..ae041b3 100644 --- a/Joypad Test Cartridge (U)/copilot/reconstructed.lbl +++ b/Joypad Test Cartridge (U)/copilot/reconstructed.lbl @@ -1,3 +1,24 @@ +al 00FFFA .ResetVectors +al 00D6E5 .RomPadding +al 00D6C5 .ButtonOamTemplateTable +al 00D6A5 .SpriteTemplateTable +al 00D6A4 .SpriteTableTerminator +al 00D644 .OamTableGroups3 +al 00D604 .OamSpritePadding +al 00D5C4 .OamTableGroups2 +al 00D5C3 .OamTableStream2Terminator +al 00D4E3 .OamTableGroups1 +al 00D4E2 .OamTable1Terminator +al 00D4AF .OamTableGap +al 00D4AE .OamTableStreamTerminator +al 00D1F5 .VramCommandBlock4 +al 00D1F4 .VramStream3Terminator +al 00D063 .VramCommandBlock3 +al 00D062 .VramStream2Terminator +al 00CF40 .VramCommandBlock2 +al 00CF2A .VramCommandInlineCode +al 00CF29 .VramStream1Terminator +al 00CF06 .VramCommandStream1 al 00CF05 .VramOpReturn al 00CEF3 .VramOpLengthCheck al 00CEC9 .VramOpDataStream diff --git a/MUSCLE (U)/copilot/muscle.cdl b/MUSCLE (U)/copilot/muscle.cdl new file mode 100644 index 0000000000000000000000000000000000000000..616c3723d6ed8d5d3afc1c0c64896959e4fc99a4 GIT binary patch literal 24585 zcmeI2OHRWu5J1~VS#-fk*l`6|vg0IdI6t;01U}wdr^cg2>rYq+YWX?mvks*U|+81dM>&`kTATA`g)+ z%MBuZ9a54a5V)E^ar<;*IuG)CzD%lZrdf(0nR!jJj)K?Xs{5$8%hyuuU@HpeVmqY0 zI)zZ^PoE7_>aRkTJJzq~ejYp!fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwx`!3azn z$6)Q!4g??o0SG_<0uX=z1O_Kiy<;Lu^InWDAv#pHF-OaMIZbtf16M++ zrzcSFt+)r{l9M%@TCeU;*{$guo=rM$#am45iyGg~@Sa$~+uEpPS(@4IshSa=w4DOW zW|%V}3oIj+Y1J_6eV>AZOG0IirBO-8u#O~7;ZYEO*@DGKSMzy3&G&W}kz zuOj2q6L`!GO4ks8z-qJ8U0uX=z1coFKzgthI@JmMeF+;~8Tcs%o+=)Qi z{2{lFcPc|#2tWV=5P$##AOHafKmY=V6Y#GA_y)XxOZV|!_wiePKYuj+=>GSv=ksmp zp1+^({iEr=U$6Uqy&oL{5P$##AOHafK%gez|9-l+URMwQx8WFy0M}=z%h5FBug@=_ CG!y6m literal 0 HcmV?d00001 diff --git a/MUSCLE (U)/copilot/muscle2.cdl b/MUSCLE (U)/copilot/muscle2.cdl new file mode 100644 index 0000000000000000000000000000000000000000..3c5a432caa66407cf82de2af051448ff74c00271 GIT binary patch literal 24585 zcmeHMO_nk@4217{yu4ZDB-!N($uhf~B%7Q+w&l`KS=|O27$##DSS6K8vfAAP!ykYC z_3!Wh{QcX<`KN#VV!)Z^4Auri-PQOZFZi(jEQZ+XanhO3g>N#uR`28W%c;CB=kOxf zV%-Na!H}MTT7_R#qx!OPnZ};4X;=YBnrCJqqZOHvEgsU&A47{V9>YC0CUx3oAj&9e zd~2;)tp@uD-w8j?esgzfsc0Yw(he-cGtEpcV%rPx!Y%hapj{&j`@~`-2}zj zB8lHRD%kSEeWZ8uxw)O7OK>DL9dqA=4%Vt*ov9wVJzH7}%uPVbr8V(v_jnmnVr`TX zFX`ytPx7Ozze3|_h$PM}ZG4HH)-tS)}#VF>9F{HhRIDi23z z5Y)V8>;@zCI;34Fy?N|S{dfR5hc`=StQBwoJ~7%`wCIm0DkO;L6_P7S>ZF{QdvlfG zojqSgIFs+bddL$I&8UWgP+CB|NoMECl*~#*UCF|mP%VETRtG!Vel6#q6}P{KxDUp@ zk&W1%y#GvLyg^7qHPUj1O9n@BDtwQRwdKpo_B)!2RWJTKj(oSVZ#8wRnx=*m&{;%d zn3+rIrX|Q2f$`y}OQg%$9^Inm>cQNhWE&Y9-1YdQLLb`D0Dd1aY>MJT9~qWWv-V$sy0L!nif`LO93VbZV}Kno$7zh~E2AD9$oI=xyySF<4_4cTuOk zOTRxTV+;AUXm_B#z=|9n!IZ2)ngl=G%6Z3?YfJ^!lDfKaLBW1^8}mWdR`0ZxJK%8l ziAL5p|251w?Bkpa>ok-0iyrO0v-gsM4yA`!1D;TA#a4oMwShI$6@d>chZ4Wml2t59QM{u58F~6+?bm#e_pD0b%f`A14}cl;akV z-}_FNs6dq6AaM!mH(hI@Te6g1tHCXAW7DBZ*Fo*4(L0)GmT}iteJ_0tKMLC2*)>Ba zQ5)sq72MEt$gvI-LNNpUa6m-Tw#Qo{;gKwPmEZa+Z)2ZHE2TVmNfgcOuE-xr9H|x9 zH)b_YZ)V<8VANq!0mSn;A8fS&-LzgJ`5%d*!5)&$;b0{COi+JrfNy8Xw8OnZN%2 z=jWgQ{rkuD{KG$fGvG{f25Z2mZZW>}0UypE$xyp`oOI78;gR2^Hs-3F+$1wIF8yyi zNSR=6x%g6@Y!PgxVn?q((GY*p;*^`P*Km@j)sM^BJyvI(LfZN2G}Mgo7%s6ksnBv@ z7>!zjGL>4-HP}b^PIx{0;qDYU(mr(q*K_T>cazoNEym>*@{H?VIYX+ygWDHW@hp=p znk)l7HR~uf%w-cgI7PrZgIqqH+p}kLdJQL0+^whbbK@5xgjH24 zdZ1bB=M4Ezr=sfo?cJsvqx>%Ad_NWnmhafxuG?@aL-K9FUk7h5sbt;~L1XPcEJvnt zi!rjJYWw-w2%*7`CYnYP~?&Jw; z+)>mJ-k2Y`C*3wVzXJ?Q9IwvbLo-&8^oh&1-OyiOr?7CrYahzZT5D5Y$MYj^v|l&G zQTaP=px%ym3|DizMiK1BhR)DMVFh0WLy2{Ps`FV!8jc&5dBvx5>j@+g`$H~Ha9Qye z!n4mfe3X6sN-*er5HLI6=Tpd{SPfj)@_hgdoE;tc?uJH;mIMKCN{wWDSjr-O>FlJH z?DnW%X51IcCGB3UQ%_up+KIF+%sjo4@KJ#}4K!0+DMUovP9oGV{^XYg6fdU~z4We? ziDyQECTLb*ntmaGxAZfPda~6wfqfm#6^Nq&^>*eP!^q&{%zjVIc9-p(&TMiI$Jz~) zExKjms)WRcL41+S z?k7_+t0U@4Cf(;VSoe{iHRK#~ z)2X={)raryFq=kL4IyqK;go#P>`-U zV+6b88qAXR#BXkCMqIf}s=&Ifu3}tJu)MmB`5GCDJoubs4gJ1+_PE`A0vHz4BDT+O-0) ziyPrAh;PJD4_&B}U67GzwfTK)wy_ys;#@elQ!8q7{@I0cYQ^m*nl8VOD ze>ro4`m4wCO2}sPq5k%as{I?;lo9JkQfVHv@Ws9^qVEe458 zu>R7;5E!vcntGK8w>-wCLzULS+E1nzG|^1!mWMp&zoxm6A3&Y9bcgaFDb8rRWP2A7 zF(?#aKKRW6aZPI`@Q(17ta%d7{iUb2&rU0;Jb0Zbnpr%N-;y{Y71-BiWlw2l-cw-6 zGN}OKWpR1knNk96M$-}Qg){z-MN?G~`gWnsqt{;EmGW(wp7B4=@X4K;eECl}@+h6Y z?3i?+;qWZ&uYNRht@rLeefB)~8Mjy6y>v(WM?IV)-gduKIGvgw;fEt^fcG4N32>Y-^B;}5-mRGX z;rv;g`CBp9doUZ4AW z{01JY$o;-M=INi^@2l%Sd)}?}cwdaS>X&?cufzEu+3hks?+kCRxJ_Z!AIG;<`+nKH zAI3Z}$G2kEKk#R7VC((xtLO98-+LdAuE%;a%=0mywa&|=Xr0/copilot/` folder, add full-ROM build (header.s + chr.s + vectors), and write the power-on flow `OVERVIEW.md` in the established style; then it joins the root index's numbered inventory. +1. **Pass 3** — name data tables/structures; release provisional flags. +2. **Promotion** — move to a top-level `/copilot/` folder, add full-ROM build (header.s + chr.s + vectors), and write the power-on flow `OVERVIEW.md` in the established style; then it joins the root index's numbered inventory. + +## Pass 2 Details (2026-10-18) + +- **Label renaming**: **All 519 labels renamed** to semantic names using `pass2.py apply` with a mapping file (`label_map.tsv`). Key renamed routines: + - RESET/NMI: `Reset`, `NmiHandler` + - System init: `InitSystem`, `WaitPPUReady`, `InitStack`, `LoadGameConfig`, `InitVariables`, `SetupInitialState` + - RAM clearing: `ClearRAM`, `ClearRAMLoop` + - APU init: `InitAPU`, `ClearControllerState`, `InitAPURegisters`, `SetAPUVolume`, `SetAPUSweep`, `InitAPUWaveform` + - Controller: `UpdateControllerState`, `CheckControllerStart`, `ProcessControllerInput` + - Game loop: `MainGameLoop`, `TitleScreenLoop`, `GameModeDispatcher`, `GameplayFrame`, `CheckRoundEnd`, `UpdateRoundTimer` + - NMI: `NmiHandler`, `NmiFrameUpdate`, `NmiVBlankOnly`, `NmiExit`, `UpdateScroll` + - Sprites: `InitSprites`, `SpriteDMA` + - Players: `UpdatePlayers`, `HandlePlayer1`, `HandlePlayer2`, `UpdatePlayerPositions` + - Collision: `CheckCollisions` + - Sound: `InitSound`, `PlaySoundEffect`, `UpdateMusic` +- **Zero-page semantic aliases**: 10 aliases added to `locals.inc` (see `locals.inc` header for full list): + - Controller: `Joy1State` ($F3), `Joy2State` ($EF), `Joy1DPad` ($F6), `Joy2DPad` ($F7) + - Game state: `GameMode` ($24), `RoundIndex` ($26), `DispatchIndex` ($C0) + - Player arrays: `PlayerState` ($16), `PlayerInput` ($25), `PlayerData` ($2A) + - Pointers: `TempPtrLo` ($00), `TempPtrHi` ($01) +- **No `Label_` entries remain** — all 519 labels have semantic names. + +## Mesen CDL Verification (2026-10-18) + +A Code Data Logger capture was taken during gameplay (~15 seconds, all buttons pressed). Key findings vs. static trace: + +| Static Trace | CDL (Gameplay) | Disposition | +|--------------|----------------|-------------| +| `$C006-$C025` (32 B data) | **CODE** | Missed init routine — convert to code in Pass 2 | +| `$C032-$C04D` (28 B data) | **CODE** | Missed init routine — convert to code in Pass 2 | +| `$C22F-$C24C` (30 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$C26A-$C287` (30 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$C2A8-$C2DD` (54 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$C2F9-$C30B` (19 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$CFC3-$D011` (79 B data) | **CODE** | Large missed routine — convert to code in Pass 2 | +| `$D09D-$D173` (215 B data) | **CODE** | Large missed routine — convert to code in Pass 2 | +| `$D469-$D7DA` (882 B data) | **CODE** | Very large missed routine — convert to code in Pass 2 | +| `$DBFD-$DCF5` (249 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$DE21-$DEC8` (168 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$DED8-$DF4B` (116 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$E11D-$E1CC` (176 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$E350-$E40D` (190 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| **`$CB70-$CB90` (data)** | **DATA** | Confirmed: branch offsets, never executed as opcodes | +| **`$CB91-$CBAC` (data)** | **CODE** (jump target + linear) | **Critical**: `jmp $CB91` at `$CADE` enters here; executes linearly as a branch table. Current static trace has entire `$CB70-$CBAC` as one data block with dead branch-target labels inside. Pass 2 must split: `$CB70-$CB90` = data (branch offsets), `$CB91-$CBAC` = code (real branch table entered via `jmp $CB91`). | + +CDL coverage: 28.2% code (4,614 bytes) vs static trace 33.9% (5,546 bytes). The static trace over-reaches via fall-through into the branch cascade; the CDL confirms the cascade is dead (branch at `$CB6E` always taken to `$CB4E`), but reveals `$CB91-$CBAC` is live code entered via the `jmp` at `$CADE`. diff --git a/_wip/Urban Champion (JU)/copilot/label_map.tsv b/_wip/Urban Champion (JU)/copilot/label_map.tsv new file mode 100644 index 0000000..663b6dd --- /dev/null +++ b/_wip/Urban Champion (JU)/copilot/label_map.tsv @@ -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 diff --git a/_wip/Urban Champion (JU)/copilot/locals.inc b/_wip/Urban Champion (JU)/copilot/locals.inc index 43c392b..6b44460 100644 --- a/_wip/Urban Champion (JU)/copilot/locals.inc +++ b/_wip/Urban Champion (JU)/copilot/locals.inc @@ -1,2 +1,159 @@ -; Urban Champion (JU) zero-page aliases (declared during Pass 2). -; These intentionally conservative names will be refined in Passes 2 and 3. +; 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 diff --git a/_wip/Urban Champion (JU)/copilot/prg.s b/_wip/Urban Champion (JU)/copilot/prg.s index 46354ef..e0a05a8 100644 --- a/_wip/Urban Champion (JU)/copilot/prg.s +++ b/_wip/Urban Champion (JU)/copilot/prg.s @@ -1,12 +1,7863 @@ -; Urban Champion (JU) NES disassembly - Pass 1 (skeleton) -; Generated from the supplied 16 KiB PRG image. -; Pass 1 classifies recursively reachable code, inline address tables, vectors, -; and untraced/data regions. All PRG data bytes are emitted explicitly with .byte directives. - +; Urban Champion (JU) NES disassembly - Pass 1 +; Byte-oriented ca65 source generated from the supplied PRG image. +; Recursively reachable instructions are emitted explicitly with address/byte comments. +; Unreached bytes remain explicit .byte blocks; no ROM byte is deleted or reformatted. +; Pass 2 replaces address-derived labels, RAM aliases, and table names while +; preserving byte identity. +; +; Vectors: NMI=$CA91 RESET=$CA00 IRQ=$CA00 +; PRG mapped at $C000-$FFFF (NROM, mirrored to the upper half) +; +; Pass 1 trace provenance (the audit trail behind every classification below): +; 34 further routine entries recovered from table references elsewhere in the image: +; $C026, $CEBE, $CEC5, $CF4F, $CF70, $CF92, $D05E, $D084, $D086, $D187, $D7DB, $D80C, $DAA7, $DBDD, $DCF6, $DEC9, $DF4C, $E1FD, $E2B9, $E2C9, $E40E, $E459, $E462, $E4A4, $E4E2, $E506, $E535, $E54A, $E617, $E61B, $E6D4, $E6FA, $E7B6, $E7FE +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $CA00, $CA91 +; $CB70-$CBAB forced back to data: the only path into it is a branch that is always taken +; indirect dispatch through zero page (not followed statically): +; jmp ($0014) at $CDFB +; jmp ($00EB) at $C318 +; jmp ($00ED) at $C332 +; .setcpu "6502" .include "symbols.inc" .include "locals.inc" .segment "PRG" -.incbin "prg.bin", $0000, $4000 + +; ----------------------------------------------------------------------------- +; Routine: InitAPU_C000 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPU_C000: + jmp $C335 ; CPU:$C000 PRG:0000 4C 35 C3 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStart +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStart: + jmp $C063 ; CPU:$C003 PRG:0003 4C 63 C0 +; ---- data $C006-$C025 (32 bytes) ---- + .byte $A8, $A5, $F3, $29, $02, $D0, $18, $A5, $EF, $29, $20, $D0, $12, $B9, $00, $C2 ; CPU:$C006 PRG:0006 A8 A5 F3 29 02 D0 18 A5 EF 29 20 D0 12 B9 00 C2 + .byte $8D, $0C, $40, $B9, $01, $C2, $8D, $0E, $40, $B9, $02, $C2, $8D, $0F, $40, $60 ; CPU:$C016 PRG:0016 8D 0C 40 B9 01 C2 8D 0E 40 B9 02 C2 8D 0F 40 60 +; ----------------------------------------------------------------------------- +; Routine: ScaleInputIndex +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScaleInputIndex: + and #$0F ; CPU:$C026 PRG:0026 29 0F + clc ; CPU:$C028 PRG:0028 18 + adc ZpE5 ; CPU:$C029 PRG:0029 65 E5 + tay ; CPU:$C02B PRG:002B A8 + lda $C172,y ; CPU:$C02C PRG:002C B9 72 C1 + sta ZpDC,x ; CPU:$C02F PRG:002F 95 DC + rts ; CPU:$C031 PRG:0031 60 +; ---- data $C032-$C04D (28 bytes) ---- + .byte $A2, $00, $A8, $B9, $01, $C1, $F0, $0B, $9D, $02, $40, $B9, $00, $C1, $09, $08 ; CPU:$C032 PRG:0032 A2 00 A8 B9 01 C1 F0 0B 9D 02 40 B9 00 C1 09 08 + .byte $9D, $03, $40, $60, $A2, $04, $D0, $EA, $A2, $08, $D0, $E6 ; CPU:$C042 PRG:0042 9D 03 40 60 A2 04 D0 EA A2 08 D0 E6 +; ----------------------------------------------------------------------------- +; Routine: SetAPUVolume +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetAPUVolume: + lda ZpE6 ; CPU:$C04E PRG:004E A5 E6 + lda #$00 ; CPU:$C050 PRG:0050 A9 00 + jsr $C358 ; CPU:$C052 PRG:0052 20 58 C3 + rts ; CPU:$C055 PRG:0055 60 +; ----------------------------------------------------------------------------- +; Routine: SetAPUSweep +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetAPUSweep: + lda #$7F ; CPU:$C056 PRG:0056 A9 7F +; ----------------------------------------------------------------------------- +; Routine: InitAPUWaveform +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPUWaveform: + sta $4001 ; CPU:$C058 PRG:0058 8D 01 40 + sta $4005 ; CPU:$C05B PRG:005B 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: SaveXY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SaveXY: + stx ZpE9 ; CPU:$C05E PRG:005E 86 E9 + sty ZpEA ; CPU:$C060 PRG:0060 84 EA + rts ; CPU:$C062 PRG:0062 60 +; ----------------------------------------------------------------------------- +; Routine: InitSoundPointers +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundPointers: + lda #$C2 ; CPU:$C063 PRG:0063 A9 C2 + sta ZpEE ; CPU:$C065 PRG:0065 85 EE + sta ZpEC ; CPU:$C067 PRG:0067 85 EC + rts ; CPU:$C069 PRG:0069 60 +; ---- data $C06A-$C06D (4 bytes) ---- + .byte $3A, $7F, $0E, $40 ; CPU:$C06A PRG:006A 3A 7F 0E 40 +; ----------------------------------------------------------------------------- +; Routine: UpdateControllerState +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateControllerState: + lda ZpF3 ; CPU:$C06E PRG:006E A5 F3 + and #$F8 ; CPU:$C070 PRG:0070 29 F8 + sta ZpF3 ; CPU:$C072 PRG:0072 85 F3 + lda ZpEF ; CPU:$C074 PRG:0074 A5 EF + ora #$20 ; CPU:$C076 PRG:0076 09 20 + sta ZpEF ; CPU:$C078 PRG:0078 85 EF + lda #$00 ; CPU:$C07A PRG:007A A9 00 + sta $010A ; CPU:$C07C PRG:007C 8D 0A 01 + ldx #$6A ; CPU:$C07F PRG:007F A2 6A + ldy #$C0 ; CPU:$C081 PRG:0081 A0 C0 + jsr $C195 ; CPU:$C083 PRG:0083 20 95 C1 + rts ; CPU:$C086 PRG:0086 60 +; ----------------------------------------------------------------------------- +; Routine: InitControllerTables +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitControllerTables: + inc $010A ; CPU:$C087 PRG:0087 EE 0A 01 + ldy $010A ; CPU:$C08A PRG:008A AC 0A 01 + lda $C0A1,y ; CPU:$C08D PRG:008D B9 A1 C0 + sta $400C ; CPU:$C090 PRG:0090 8D 0C 40 + bne InitControllerTablesLoop ; CPU:$C093 PRG:0093 D0 0B + lda ZpEF ; CPU:$C095 PRG:0095 A5 EF + and #$DF ; CPU:$C097 PRG:0097 29 DF + sta ZpEF ; CPU:$C099 PRG:0099 85 EF + lda #$10 ; CPU:$C09B PRG:009B A9 10 + sta $400C ; CPU:$C09D PRG:009D 8D 0C 40 +; ----------------------------------------------------------------------------- +; Routine: InitControllerTablesLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitControllerTablesLoop: + rts ; CPU:$C0A0 PRG:00A0 60 +; ---- data $C0A1-$C0AD (13 bytes) ---- +; referenced by `lda $C0A1,y` at $C08D (operand $C0A1 falls inside this region) + .byte $3F, $3F, $30, $3F, $30, $3F, $3F, $3A, $3F, $3F, $30, $3F, $00 ; CPU:$C0A1 PRG:00A1 3F 3F 30 3F 30 3F 3F 3A 3F 3F 30 3F 00 +; ----------------------------------------------------------------------------- +; Routine: InitControllerTablesAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitControllerTablesAlt: + jmp $C352 ; CPU:$C0AE PRG:00AE 4C 52 C3 +; ----------------------------------------------------------------------------- +; Routine: InitControllerTablesExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitControllerTablesExit: + lda ZpF1 ; CPU:$C0B1 PRG:00B1 A5 F1 + and #$20 ; CPU:$C0B3 PRG:00B3 29 20 + bne UpdateControllerState ; CPU:$C0B5 PRG:00B5 D0 B7 + lda ZpEF ; CPU:$C0B7 PRG:00B7 A5 EF + and #$20 ; CPU:$C0B9 PRG:00B9 29 20 + bne InitControllerTables ; CPU:$C0BB PRG:00BB D0 CA + lda ZpF0 ; CPU:$C0BD PRG:00BD A5 F0 + lsr a ; CPU:$C0BF PRG:00BF 4A + bcs InitControllerTablesAlt ; CPU:$C0C0 PRG:00C0 B0 EC + lsr a ; CPU:$C0C2 PRG:00C2 4A + bcs InitPPU ; CPU:$C0C3 PRG:00C3 B0 0A + lsr a ; CPU:$C0C5 PRG:00C5 4A + bcs InitAPUFrameCounterExit ; CPU:$C0C6 PRG:00C6 B0 30 + lda ZpF3 ; CPU:$C0C8 PRG:00C8 A5 F3 + lsr a ; CPU:$C0CA PRG:00CA 4A + lsr a ; CPU:$C0CB PRG:00CB 4A + bcs InitPPULoop ; CPU:$C0CC PRG:00CC B0 12 + rts ; CPU:$C0CE PRG:00CE 60 +; ----------------------------------------------------------------------------- +; Routine: InitPPU +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitPPU: + lda ZpF3 ; CPU:$C0CF PRG:00CF A5 F3 + ora #$02 ; CPU:$C0D1 PRG:00D1 09 02 + sta ZpF3 ; CPU:$C0D3 PRG:00D3 85 F3 + lda #$14 ; CPU:$C0D5 PRG:00D5 A9 14 + sta $0103 ; CPU:$C0D7 PRG:00D7 8D 03 01 + ldx #$72 ; CPU:$C0DA PRG:00DA A2 72 + ldy #$C3 ; CPU:$C0DC PRG:00DC A0 C3 + bne InitPPUFinal ; CPU:$C0DE PRG:00DE D0 1C +; ----------------------------------------------------------------------------- +; Routine: InitPPULoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitPPULoop: + inc $0103 ; CPU:$C0E0 PRG:00E0 EE 03 01 + inc $0103 ; CPU:$C0E3 PRG:00E3 EE 03 01 + lda $0103 ; CPU:$C0E6 PRG:00E6 AD 03 01 + cmp #$20 ; CPU:$C0E9 PRG:00E9 C9 20 + beq InitAPUFrameCounter ; CPU:$C0EB PRG:00EB F0 04 + sta $400C ; CPU:$C0ED PRG:00ED 8D 0C 40 + rts ; CPU:$C0F0 PRG:00F0 60 +; ----------------------------------------------------------------------------- +; Routine: InitAPUFrameCounter +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPUFrameCounter: + lda ZpF3 ; CPU:$C0F1 PRG:00F1 A5 F3 + and #$FD ; CPU:$C0F3 PRG:00F3 29 FD + sta ZpF3 ; CPU:$C0F5 PRG:00F5 85 F3 + rts ; CPU:$C0F7 PRG:00F7 60 +; ----------------------------------------------------------------------------- +; Routine: InitAPUFrameCounterExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPUFrameCounterExit: + ldx #$6E ; CPU:$C0F8 PRG:00F8 A2 6E + ldy #$C3 ; CPU:$C0FA PRG:00FA A0 C3 +; ----------------------------------------------------------------------------- +; Routine: InitPPUFinal +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitPPUFinal: + jsr $C195 ; CPU:$C0FC PRG:00FC 20 95 C1 + rts ; CPU:$C0FF PRG:00FF 60 +; ---- data $C100-$C18C (141 bytes) ---- +; referenced by `lda $C172,y` at $C02C (operand $C172 falls inside this region) + .byte $C1, $60, $00, $00, $00, $D4, $00, $C8, $00, $BD, $00, $B2, $00, $A8, $00, $9F ; CPU:$C100 PRG:0100 C1 60 00 00 00 D4 00 C8 00 BD 00 B2 00 A8 00 9F + .byte $00, $96, $00, $8D, $00, $85, $00, $7E, $00, $76, $00, $70, $01, $AB, $01, $93 ; CPU:$C110 PRG:0110 00 96 00 8D 00 85 00 7E 00 76 00 70 01 AB 01 93 + .byte $01, $7C, $01, $67, $01, $52, $01, $3F, $01, $2D, $01, $1C, $01, $0C, $00, $FD ; CPU:$C120 PRG:0120 01 7C 01 67 01 52 01 3F 01 2D 01 1C 01 0C 00 FD + .byte $00, $EE, $00, $E1, $03, $57, $03, $27, $02, $F9, $02, $CF, $02, $A6, $02, $80 ; CPU:$C130 PRG:0130 00 EE 00 E1 03 57 03 27 02 F9 02 CF 02 A6 02 80 + .byte $02, $5C, $02, $3A, $02, $1A, $01, $FC, $01, $DF, $01, $C4, $06, $AE, $06, $4E ; CPU:$C140 PRG:0140 02 5C 02 3A 02 1A 01 FC 01 DF 01 C4 06 AE 06 4E + .byte $05, $F3, $05, $9E, $05, $4D, $05, $01, $04, $B9, $04, $75, $04, $35, $03, $F8 ; CPU:$C150 PRG:0150 05 F3 05 9E 05 4D 05 01 04 B9 04 75 04 35 03 F8 + .byte $03, $BF, $03, $89, $00, $69, $00, $63, $00, $5E, $00, $58, $00, $53, $00, $4A ; CPU:$C160 PRG:0160 03 BF 03 89 00 69 00 63 00 5E 00 58 00 53 00 4A + .byte $00, $46, $03, $06, $0C, $18, $30, $12, $24, $09, $04, $08, $10, $20, $40, $18 ; CPU:$C170 PRG:0170 00 46 03 06 0C 18 30 12 24 09 04 08 10 20 40 18 + .byte $30, $0C, $06, $0C, $18, $30, $60, $24, $48, $12, $10, $08, $03 ; CPU:$C180 PRG:0180 30 0C 06 0C 18 30 60 24 48 12 10 08 03 +; ----------------------------------------------------------------------------- +; Routine: LoadBackgroundData +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +LoadBackgroundData: + lda #$00 ; CPU:$C18D PRG:018D A9 00 + beq LoadBackgroundDataExit ; CPU:$C18F PRG:018F F0 0A + lda #$08 ; CPU:$C191 PRG:0191 A9 08 + bne LoadBackgroundDataExit ; CPU:$C193 PRG:0193 D0 06 +; ----------------------------------------------------------------------------- +; Routine: LoadBackgroundDataLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +LoadBackgroundDataLoop: + lda #$0C ; CPU:$C195 PRG:0195 A9 0C + bne LoadBackgroundDataExit ; CPU:$C197 PRG:0197 D0 02 +; ----------------------------------------------------------------------------- +; Routine: LoadBackgroundDataAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +LoadBackgroundDataAlt: + lda #$04 ; CPU:$C199 PRG:0199 A9 04 +; ----------------------------------------------------------------------------- +; Routine: LoadBackgroundDataExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +LoadBackgroundDataExit: + sta ZpF4 ; CPU:$C19B PRG:019B 85 F4 + lda #$40 ; CPU:$C19D PRG:019D A9 40 + sta ZpF5 ; CPU:$C19F PRG:019F 85 F5 + stx ZpF6 ; CPU:$C1A1 PRG:01A1 86 F6 + sty ZpF7 ; CPU:$C1A3 PRG:01A3 84 F7 + ldy #$00 ; CPU:$C1A5 PRG:01A5 A0 00 +; ----------------------------------------------------------------------------- +; Routine: SetupSpriteData +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetupSpriteData: + lda (ZpF6),y ; CPU:$C1A7 PRG:01A7 B1 F6 + sta (ZpF4),y ; CPU:$C1A9 PRG:01A9 91 F4 + iny ; CPU:$C1AB PRG:01AB C8 + tya ; CPU:$C1AC PRG:01AC 98 + cmp #$04 ; CPU:$C1AD PRG:01AD C9 04 + bne SetupSpriteData ; CPU:$C1AF PRG:01AF D0 F6 + rts ; CPU:$C1B1 PRG:01B1 60 +; ----------------------------------------------------------------------------- +; Routine: SetupSpriteDataLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetupSpriteDataLoop: + tax ; CPU:$C1B2 PRG:01B2 AA + jsr $C352 ; CPU:$C1B3 PRG:01B3 20 52 C3 + stx ZpE6 ; CPU:$C1B6 PRG:01B6 86 E6 + lda $C657,y ; CPU:$C1B8 PRG:01B8 B9 57 C6 + tay ; CPU:$C1BB PRG:01BB A8 + lda $C657,y ; CPU:$C1BC PRG:01BC B9 57 C6 + sta ZpE5 ; CPU:$C1BF PRG:01BF 85 E5 + lda $C658,y ; CPU:$C1C1 PRG:01C1 B9 58 C6 + sta ZpF8 ; CPU:$C1C4 PRG:01C4 85 F8 + lda $C659,y ; CPU:$C1C6 PRG:01C6 B9 59 C6 + sta ZpF9 ; CPU:$C1C9 PRG:01C9 85 F9 + lda $C65A,y ; CPU:$C1CB PRG:01CB B9 5A C6 + sta ZpFA ; CPU:$C1CE PRG:01CE 85 FA + lda $C65B,y ; CPU:$C1D0 PRG:01D0 B9 5B C6 + sta ZpFB ; CPU:$C1D3 PRG:01D3 85 FB + lda $C65C,y ; CPU:$C1D5 PRG:01D5 B9 5C C6 + sta ZpFC ; CPU:$C1D8 PRG:01D8 85 FC + lda $C65D,y ; CPU:$C1DA PRG:01DA B9 5D C6 + sta ZpFD ; CPU:$C1DD PRG:01DD 85 FD + lda $C65E,y ; CPU:$C1DF PRG:01DF B9 5E C6 + sta ZpFE ; CPU:$C1E2 PRG:01E2 85 FE + lda $C65F,y ; CPU:$C1E4 PRG:01E4 B9 5F C6 + sta ZpFF ; CPU:$C1E7 PRG:01E7 85 FF + lda #$01 ; CPU:$C1E9 PRG:01E9 A9 01 + sta ZpD8 ; CPU:$C1EB PRG:01EB 85 D8 + sta ZpD9 ; CPU:$C1ED PRG:01ED 85 D9 + sta ZpDA ; CPU:$C1EF PRG:01EF 85 DA + sta ZpDB ; CPU:$C1F1 PRG:01F1 85 DB + lda #$00 ; CPU:$C1F3 PRG:01F3 A9 00 + sta ZpD0 ; CPU:$C1F5 PRG:01F5 85 D0 + sta ZpD1 ; CPU:$C1F7 PRG:01F7 85 D1 + sta ZpD2 ; CPU:$C1F9 PRG:01F9 85 D2 + sta ZpD3 ; CPU:$C1FB PRG:01FB 85 D3 + rts ; CPU:$C1FD PRG:01FD 60 +; ---- data $C1FE-$C20E (17 bytes) ---- + .byte $FF, $FF, $10, $00, $18, $10, $01, $18, $00, $01, $88, $02, $02, $40, $19, $01 ; CPU:$C1FE PRG:01FE FF FF 10 00 18 10 01 18 00 01 88 02 02 40 19 01 + .byte $18 ; CPU:$C20E PRG:020E 18 +; ----------------------------------------------------------------------------- +; Routine: CopySpriteTables +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CopySpriteTables: + lda ZpF9 ; CPU:$C20F PRG:020F A5 F9 + beq WaitVBlank ; CPU:$C211 PRG:0211 F0 3A + dec ZpD8 ; CPU:$C213 PRG:0213 C6 D8 + bne WaitVBlank ; CPU:$C215 PRG:0215 D0 36 + ldx #$00 ; CPU:$C217 PRG:0217 A2 00 + lda #$21 ; CPU:$C219 PRG:0219 A9 21 + sta ZpED ; CPU:$C21B PRG:021B 85 ED + lda #$2F ; CPU:$C21D PRG:021D A9 2F + sta ZpEB ; CPU:$C21F PRG:021F 85 EB + ldy ZpD0 ; CPU:$C221 PRG:0221 A4 D0 + inc ZpD0 ; CPU:$C223 PRG:0223 E6 D0 + lda (ZpF8),y ; CPU:$C225 PRG:0225 B1 F8 + beq CopySpriteTablesLoop ; CPU:$C227 PRG:0227 F0 03 + jmp $C30D ; CPU:$C229 PRG:0229 4C 0D C3 +; ----------------------------------------------------------------------------- +; Routine: CopySpriteTablesLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CopySpriteTablesLoop: + jmp $C04E ; CPU:$C22C PRG:022C 4C 4E C0 +; ---- data $C22F-$C24C (30 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D0, $E6, $D0, $B1, $F8, $20, $32, $C0, $D0 ; CPU:$C22F PRG:022F 98 10 09 20 26 C0 A4 D0 E6 D0 B1 F8 20 32 C0 D0 + .byte $04, $A0, $10, $D0, $02, $A4, $E9, $8C, $00, $40, $A5, $DC, $85, $D8 ; CPU:$C23F PRG:023F 04 A0 10 D0 02 A4 E9 8C 00 40 A5 DC 85 D8 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlank +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlank: + lda ZpFB ; CPU:$C24D PRG:024D A5 FB + beq WaitVBlankLoop ; CPU:$C24F PRG:024F F0 37 + dec ZpD9 ; CPU:$C251 PRG:0251 C6 D9 + bne WaitVBlankLoop ; CPU:$C253 PRG:0253 D0 33 + ldx #$01 ; CPU:$C255 PRG:0255 A2 01 + lda #$5F ; CPU:$C257 PRG:0257 A9 5F + sta ZpED ; CPU:$C259 PRG:0259 85 ED + lda #$6A ; CPU:$C25B PRG:025B A9 6A + sta ZpEB ; CPU:$C25D PRG:025D 85 EB + ldy ZpD1 ; CPU:$C25F PRG:025F A4 D1 + inc ZpD1 ; CPU:$C261 PRG:0261 E6 D1 + lda (ZpFA),y ; CPU:$C263 PRG:0263 B1 FA + beq CopySpriteTablesLoop ; CPU:$C265 PRG:0265 F0 C5 + jmp $C30D ; CPU:$C267 PRG:0267 4C 0D C3 +; ---- data $C26A-$C287 (30 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D1, $E6, $D1, $B1, $FA, $20, $46, $C0, $D0 ; CPU:$C26A PRG:026A 98 10 09 20 26 C0 A4 D1 E6 D1 B1 FA 20 46 C0 D0 + .byte $04, $A0, $10, $D0, $02, $A4, $EA, $8C, $04, $40, $A5, $DD, $85, $D9 ; CPU:$C27A PRG:027A 04 A0 10 D0 02 A4 EA 8C 04 40 A5 DD 85 D9 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankLoop: + lda ZpFD ; CPU:$C288 PRG:0288 A5 FD + beq ClearRAM ; CPU:$C28A PRG:028A F0 52 + dec ZpDA ; CPU:$C28C PRG:028C C6 DA + bne ClearRAM ; CPU:$C28E PRG:028E D0 4E + ldx #$02 ; CPU:$C290 PRG:0290 A2 02 + lda #$A8 ; CPU:$C292 PRG:0292 A9 A8 + sta ZpEB ; CPU:$C294 PRG:0294 85 EB + lda #$9A ; CPU:$C296 PRG:0296 A9 9A + sta ZpED ; CPU:$C298 PRG:0298 85 ED + ldy ZpD2 ; CPU:$C29A PRG:029A A4 D2 + inc ZpD2 ; CPU:$C29C PRG:029C E6 D2 + lda (ZpFC),y ; CPU:$C29E PRG:029E B1 FC + beq InitGameVariables ; CPU:$C2A0 PRG:02A0 F0 03 + jmp $C30D ; CPU:$C2A2 PRG:02A2 4C 0D C3 +; ----------------------------------------------------------------------------- +; Routine: InitGameVariables +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameVariables: + jmp $C04E ; CPU:$C2A5 PRG:02A5 4C 4E C0 +; ---- data $C2A8-$C2DD (54 bytes) ---- + .byte $98, $10, $21, $20, $26, $C0, $A4, $E4, $F0, $04, $A9, $FF, $D0, $0B, $18, $69 ; CPU:$C2A8 PRG:02A8 98 10 21 20 26 C0 A4 E4 F0 04 A9 FF D0 0B 18 69 + .byte $FE, $0A, $0A, $C9, $3C, $90, $02, $A9, $3C, $8D, $08, $40, $85, $E7, $A4, $D2 ; CPU:$C2B8 PRG:02B8 FE 0A 0A C9 3C 90 02 A9 3C 8D 08 40 85 E7 A4 D2 + .byte $E6, $D2, $B1, $FC, $20, $4A, $C0, $D0, $04, $A0, $00, $F0, $02, $A4, $E7, $8C ; CPU:$C2C8 PRG:02C8 E6 D2 B1 FC 20 4A C0 D0 04 A0 00 F0 02 A4 E7 8C + .byte $08, $40, $A5, $DE, $85, $DA ; CPU:$C2D8 PRG:02D8 08 40 A5 DE 85 DA +; ----------------------------------------------------------------------------- +; Routine: ClearRAM +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearRAM: + lda ZpFF ; CPU:$C2DE PRG:02DE A5 FF + beq ClearRAMPage ; CPU:$C2E0 PRG:02E0 F0 2A + dec ZpDB ; CPU:$C2E2 PRG:02E2 C6 DB + bne ClearRAMPage ; CPU:$C2E4 PRG:02E4 D0 26 + ldx #$03 ; CPU:$C2E6 PRG:02E6 A2 03 + lda #$F9 ; CPU:$C2E8 PRG:02E8 A9 F9 + sta ZpEB ; CPU:$C2EA PRG:02EA 85 EB + lda #$F0 ; CPU:$C2EC PRG:02EC A9 F0 + sta ZpED ; CPU:$C2EE PRG:02EE 85 ED + ldy ZpD3 ; CPU:$C2F0 PRG:02F0 A4 D3 + inc ZpD3 ; CPU:$C2F2 PRG:02F2 E6 D3 + lda (ZpFE),y ; CPU:$C2F4 PRG:02F4 B1 FE + jmp $C30D ; CPU:$C2F6 PRG:02F6 4C 0D C3 +; ---- data $C2F9-$C30B (19 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D3, $E6, $D3, $B1, $FE, $20, $06, $C0, $A5 ; CPU:$C2F9 PRG:02F9 98 10 09 20 26 C0 A4 D3 E6 D3 B1 FE 20 06 C0 A5 + .byte $DF, $85, $DB ; CPU:$C309 PRG:0309 DF 85 DB +; ----------------------------------------------------------------------------- +; Routine: ClearRAMPage +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearRAMPage: + rts ; CPU:$C30C PRG:030C 60 +; ----------------------------------------------------------------------------- +; Routine: ClearRAMPageLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearRAMPageLoop: + tay ; CPU:$C30D PRG:030D A8 + cmp #$FF ; CPU:$C30E PRG:030E C9 FF + beq InitGameState ; CPU:$C310 PRG:0310 F0 09 + and #$C0 ; CPU:$C312 PRG:0312 29 C0 + cmp #$C0 ; CPU:$C314 PRG:0314 C9 C0 + beq InitGameStateExit ; CPU:$C316 PRG:0316 F0 0F + jmp ($00EB) ; CPU:$C318 PRG:0318 6C EB 00 +; ----------------------------------------------------------------------------- +; Routine: InitGameState +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState: + lda ZpE0,x ; CPU:$C31B PRG:031B B5 E0 + beq InitAPUCall ; CPU:$C31D PRG:031D F0 13 + dec ZpE0,x ; CPU:$C31F PRG:031F D6 E0 + lda ZpD4,x ; CPU:$C321 PRG:0321 B5 D4 + sta ZpD0,x ; CPU:$C323 PRG:0323 95 D0 + bne InitAPUCall ; CPU:$C325 PRG:0325 D0 0B +; ----------------------------------------------------------------------------- +; Routine: InitGameStateExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameStateExit: + tya ; CPU:$C327 PRG:0327 98 + and #$3F ; CPU:$C328 PRG:0328 29 3F + sta ZpE0,x ; CPU:$C32A PRG:032A 95 E0 + dec ZpE0,x ; CPU:$C32C PRG:032C D6 E0 + lda ZpD0,x ; CPU:$C32E PRG:032E B5 D0 + sta ZpD4,x ; CPU:$C330 PRG:0330 95 D4 +; ----------------------------------------------------------------------------- +; Routine: InitAPUCall +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPUCall: + jmp ($00ED) ; CPU:$C332 PRG:0332 6C ED 00 +; ----------------------------------------------------------------------------- +; Routine: InitAPU +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPU: + lda #$C0 ; CPU:$C335 PRG:0335 A9 C0 + sta $4017 ; CPU:$C337 PRG:0337 8D 17 40 + jsr $C0B1 ; CPU:$C33A PRG:033A 20 B1 C0 + jsr $C3B3 ; CPU:$C33D PRG:033D 20 B3 C3 + jsr $C465 ; CPU:$C340 PRG:0340 20 65 C4 + jsr $C508 ; CPU:$C343 PRG:0343 20 08 C5 + jsr $C5D1 ; CPU:$C346 PRG:0346 20 D1 C5 + lda #$00 ; CPU:$C349 PRG:0349 A9 00 + sta ZpF0 ; CPU:$C34B PRG:034B 85 F0 + sta ZpF1 ; CPU:$C34D PRG:034D 85 F1 + sta ZpF2 ; CPU:$C34F PRG:034F 85 F2 + rts ; CPU:$C351 PRG:0351 60 +; ----------------------------------------------------------------------------- +; Routine: ClearControllerState +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearControllerState: + lda #$00 ; CPU:$C352 PRG:0352 A9 00 + sta ZpF3 ; CPU:$C354 PRG:0354 85 F3 + sta ZpEF ; CPU:$C356 PRG:0356 85 EF +; ----------------------------------------------------------------------------- +; Routine: InitAPURegisters +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPURegisters: + sta $4008 ; CPU:$C358 PRG:0358 8D 08 40 + sta $4011 ; CPU:$C35B PRG:035B 8D 11 40 + sta ZpE6 ; CPU:$C35E PRG:035E 85 E6 + sta ZpE4 ; CPU:$C360 PRG:0360 85 E4 + lda #$10 ; CPU:$C362 PRG:0362 A9 10 + sta $4000 ; CPU:$C364 PRG:0364 8D 00 40 + sta $4004 ; CPU:$C367 PRG:0367 8D 04 40 + sta $400C ; CPU:$C36A PRG:036A 8D 0C 40 + rts ; CPU:$C36D PRG:036D 60 +; ---- data $C36E-$C375 (8 bytes) ---- + .byte $1E, $7F, $05, $18, $15, $7F, $02, $88 ; CPU:$C36E PRG:036E 1E 7F 05 18 15 7F 02 88 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt1: + ldx #$40 ; CPU:$C376 PRG:0376 A2 40 + ldy #$C4 ; CPU:$C378 PRG:0378 A0 C4 + jmp $C3FF ; CPU:$C37A PRG:037A 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt2: + ldx #$34 ; CPU:$C37D PRG:037D A2 34 + ldy #$C4 ; CPU:$C37F PRG:037F A0 C4 + jmp $C3FF ; CPU:$C381 PRG:0381 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesMain +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesMain: + lda ZpF3 ; CPU:$C384 PRG:0384 A5 F3 + and #$07 ; CPU:$C386 PRG:0386 29 07 + ora #$40 ; CPU:$C388 PRG:0388 09 40 + sta ZpF3 ; CPU:$C38A PRG:038A 85 F3 + jsr $C425 ; CPU:$C38C PRG:038C 20 25 C4 + lda #$00 ; CPU:$C38F PRG:038F A9 00 + sta $0100 ; CPU:$C391 PRG:0391 8D 00 01 + ldx #$2C ; CPU:$C394 PRG:0394 A2 2C + ldy #$C4 ; CPU:$C396 PRG:0396 A0 C4 + bne InitSpritesClearEF ; CPU:$C398 PRG:0398 D0 6B +; ----------------------------------------------------------------------------- +; Routine: InitSpritesLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesLoop: + inc $0100 ; CPU:$C39A PRG:039A EE 00 01 + lda $0100 ; CPU:$C39D PRG:039D AD 00 01 + cmp #$04 ; CPU:$C3A0 PRG:03A0 C9 04 + bne InitSpritesCheckF1 ; CPU:$C3A2 PRG:03A2 D0 6A + jsr $C41E ; CPU:$C3A4 PRG:03A4 20 1E C4 + ldx #$38 ; CPU:$C3A7 PRG:03A7 A2 38 + ldy #$C4 ; CPU:$C3A9 PRG:03A9 A0 C4 + bne InitSpritesClearEF ; CPU:$C3AB PRG:03AB D0 58 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAltExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAltExit: + ldx #$3C ; CPU:$C3AD PRG:03AD A2 3C + ldy #$C4 ; CPU:$C3AF PRG:03AF A0 C4 + bne InitSpritesCallChain ; CPU:$C3B1 PRG:03B1 D0 4C +; ----------------------------------------------------------------------------- +; Routine: InitSpritesExit_C3B3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesExit_C3B3: + lda ZpE6 ; CPU:$C3B3 PRG:03B3 A5 E6 + cmp #$80 ; CPU:$C3B5 PRG:03B5 C9 80 + beq InitSpritesCheckE6 ; CPU:$C3B7 PRG:03B7 F0 0A + lda ZpE6 ; CPU:$C3B9 PRG:03B9 A5 E6 + bne InitSpritesCheckF1 ; CPU:$C3BB PRG:03BB D0 51 + lda ZpEF ; CPU:$C3BD PRG:03BD A5 EF + and #$04 ; CPU:$C3BF PRG:03BF 29 04 + bne InitSpritesCheckF1 ; CPU:$C3C1 PRG:03C1 D0 4B +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheckE6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheckE6: + lda ZpF1 ; CPU:$C3C3 PRG:03C3 A5 F1 + and #$10 ; CPU:$C3C5 PRG:03C5 29 10 + bne InitSpritesAlt1 ; CPU:$C3C7 PRG:03C7 D0 AD + lda ZpF0 ; CPU:$C3C9 PRG:03C9 A5 F0 + asl a ; CPU:$C3CB PRG:03CB 0A + bcs InitSpritesSetE6 ; CPU:$C3CC PRG:03CC B0 1B + asl a ; CPU:$C3CE PRG:03CE 0A + bcs InitSpritesMain ; CPU:$C3CF PRG:03CF B0 B3 + asl a ; CPU:$C3D1 PRG:03D1 0A + bcs InitSpritesSetE4 ; CPU:$C3D2 PRG:03D2 B0 0F + asl a ; CPU:$C3D4 PRG:03D4 0A + bcs InitSpritesAlt2 ; CPU:$C3D5 PRG:03D5 B0 A6 + asl a ; CPU:$C3D7 PRG:03D7 0A + bcs InitSpritesAltExit ; CPU:$C3D8 PRG:03D8 B0 D3 + lda ZpF3 ; CPU:$C3DA PRG:03DA A5 F3 + asl a ; CPU:$C3DC PRG:03DC 0A + bcs InitSpritesSetF3 ; CPU:$C3DD PRG:03DD B0 30 + asl a ; CPU:$C3DF PRG:03DF 0A + bcs InitSpritesLoop ; CPU:$C3E0 PRG:03E0 B0 B8 + rts ; CPU:$C3E2 PRG:03E2 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetE4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetE4: + ldx #$2C ; CPU:$C3E3 PRG:03E3 A2 2C + ldy #$C4 ; CPU:$C3E5 PRG:03E5 A0 C4 + bne InitSpritesCallChain ; CPU:$C3E7 PRG:03E7 D0 16 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetE6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetE6: + lda ZpF3 ; CPU:$C3E9 PRG:03E9 A5 F3 + and #$07 ; CPU:$C3EB PRG:03EB 29 07 + ora #$80 ; CPU:$C3ED PRG:03ED 09 80 + sta ZpF3 ; CPU:$C3EF PRG:03EF 85 F3 + jsr $C425 ; CPU:$C3F1 PRG:03F1 20 25 C4 + lda #$00 ; CPU:$C3F4 PRG:03F4 A9 00 + sta $0100 ; CPU:$C3F6 PRG:03F6 8D 00 01 + ldx #$30 ; CPU:$C3F9 PRG:03F9 A2 30 + ldy #$C4 ; CPU:$C3FB PRG:03FB A0 C4 + bne InitSpritesClearEF ; CPU:$C3FD PRG:03FD D0 06 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCallChain +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCallChain: + jsr $C425 ; CPU:$C3FF PRG:03FF 20 25 C4 + jsr $C41E ; CPU:$C402 PRG:0402 20 1E C4 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesClearEF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesClearEF: + jsr $C199 ; CPU:$C405 PRG:0405 20 99 C1 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt6: + lda ZpEF ; CPU:$C408 PRG:0408 A5 EF + and #$BF ; CPU:$C40A PRG:040A 29 BF + sta ZpEF ; CPU:$C40C PRG:040C 85 EF +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheckF1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheckF1: + rts ; CPU:$C40E PRG:040E 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetF3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetF3: + inc $0100 ; CPU:$C40F PRG:040F EE 00 01 + lda $0100 ; CPU:$C412 PRG:0412 AD 00 01 + cmp #$05 ; CPU:$C415 PRG:0415 C9 05 + bne InitSpritesCheckF1 ; CPU:$C417 PRG:0417 D0 F5 + lda #$8B ; CPU:$C419 PRG:0419 A9 8B + sta $4005 ; CPU:$C41B PRG:041B 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt7: + lda ZpF3 ; CPU:$C41E PRG:041E A5 F3 + and #$07 ; CPU:$C420 PRG:0420 29 07 + sta ZpF3 ; CPU:$C422 PRG:0422 85 F3 + rts ; CPU:$C424 PRG:0424 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt8: + lda ZpEF ; CPU:$C425 PRG:0425 A5 EF + and #$E7 ; CPU:$C427 PRG:0427 29 E7 + sta ZpEF ; CPU:$C429 PRG:0429 85 EF + rts ; CPU:$C42B PRG:042B 60 +; ---- data $C42C-$C443 (24 bytes) ---- + .byte $9F, $83, $E0, $39, $9F, $83, $40, $CA, $9F, $8B, $FF, $4A, $9F, $8D, $FF, $CA ; CPU:$C42C PRG:042C 9F 83 E0 39 9F 83 40 CA 9F 8B FF 4A 9F 8D FF CA + .byte $9F, $82, $E0, $19, $9F, $93, $FF, $B9 ; CPU:$C43C PRG:043C 9F 82 E0 19 9F 93 FF B9 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheckF2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheckF2: + lda #$FF ; CPU:$C444 PRG:0444 A9 FF + sta $010D ; CPU:$C446 PRG:0446 8D 0D 01 + rts ; CPU:$C449 PRG:0449 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetF2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetF2: + jsr $C352 ; CPU:$C44A PRG:044A 20 52 C3 + lda #$04 ; CPU:$C44D PRG:044D A9 04 + sta ZpEF ; CPU:$C44F PRG:044F 85 EF + lda #$FF ; CPU:$C451 PRG:0451 A9 FF + sta ZpE6 ; CPU:$C453 PRG:0453 85 E6 + lda #$00 ; CPU:$C455 PRG:0455 A9 00 + sta $010B ; CPU:$C457 PRG:0457 8D 0B 01 + sta $010D ; CPU:$C45A PRG:045A 8D 0D 01 + lda #$B0 ; CPU:$C45D PRG:045D A9 B0 + sta $010C ; CPU:$C45F PRG:045F 8D 0C 01 + jmp $C4A5 ; CPU:$C462 PRG:0462 4C A5 C4 +; ----------------------------------------------------------------------------- +; Routine: InitGameState2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState2: + lda ZpF1 ; CPU:$C465 PRG:0465 A5 F1 + lsr a ; CPU:$C467 PRG:0467 4A + bcs InitSpritesAlt1Entry ; CPU:$C468 PRG:0468 B0 0E + lsr a ; CPU:$C46A PRG:046A 4A + bcs InitSpritesCheckF2 ; CPU:$C46B PRG:046B B0 D7 + lsr a ; CPU:$C46D PRG:046D 4A + bcs InitSpritesSetF2 ; CPU:$C46E PRG:046E B0 DA + lda ZpEF ; CPU:$C470 PRG:0470 A5 EF + lsr a ; CPU:$C472 PRG:0472 4A + lsr a ; CPU:$C473 PRG:0473 4A + lsr a ; CPU:$C474 PRG:0474 4A + bcs InitGameState2Exit ; CPU:$C475 PRG:0475 B0 13 + rts ; CPU:$C477 PRG:0477 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt1Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt1Entry: + jsr $C352 ; CPU:$C478 PRG:0478 20 52 C3 + ldx #$FC ; CPU:$C47B PRG:047B A2 FC + ldy #$C4 ; CPU:$C47D PRG:047D A0 C4 + jsr $C18D ; CPU:$C47F PRG:047F 20 8D C1 + ldx #$F8 ; CPU:$C482 PRG:0482 A2 F8 + ldy #$C4 ; CPU:$C484 PRG:0484 A0 C4 + jsr $C199 ; CPU:$C486 PRG:0486 20 99 C1 + rts ; CPU:$C489 PRG:0489 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState2Exit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState2Exit: + jsr $C4BB ; CPU:$C48A PRG:048A 20 BB C4 + inc $0108 ; CPU:$C48D PRG:048D EE 08 01 + lda $0108 ; CPU:$C490 PRG:0490 AD 08 01 + cmp #$09 ; CPU:$C493 PRG:0493 C9 09 + beq InitSpritesAlt1Loop ; CPU:$C495 PRG:0495 F0 05 + cmp #$13 ; CPU:$C497 PRG:0497 C9 13 + beq InitSpritesAlt2Loop ; CPU:$C499 PRG:0499 F0 0A + rts ; CPU:$C49B PRG:049B 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt1Loop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt1Loop: + lda #$AC ; CPU:$C49C PRG:049C A9 AC + sta $4001 ; CPU:$C49E PRG:049E 8D 01 40 + sta $4005 ; CPU:$C4A1 PRG:04A1 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt2Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt2Entry: + rts ; CPU:$C4A4 PRG:04A4 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt2Loop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt2Loop: + lda #$00 ; CPU:$C4A5 PRG:04A5 A9 00 + sta $0108 ; CPU:$C4A7 PRG:04A7 8D 08 01 + ldx #$00 ; CPU:$C4AA PRG:04AA A2 00 + ldy #$C5 ; CPU:$C4AC PRG:04AC A0 C5 + jsr $C18D ; CPU:$C4AE PRG:04AE 20 8D C1 + ldx #$04 ; CPU:$C4B1 PRG:04B1 A2 04 + ldy #$C5 ; CPU:$C4B3 PRG:04B3 A0 C5 + jsr $C199 ; CPU:$C4B5 PRG:04B5 20 99 C1 + jmp $C4E6 ; CPU:$C4B8 PRG:04B8 4C E6 C4 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheck10B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheck10B: + lda $010D ; CPU:$C4BB PRG:04BB AD 0D 01 + beq InitSpritesInc10B ; CPU:$C4BE PRG:04BE F0 03 + jmp $C4CA ; CPU:$C4C0 PRG:04C0 4C CA C4 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesInc10B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesInc10B: + lda $010C ; CPU:$C4C3 PRG:04C3 AD 0C 01 + cmp #$BD ; CPU:$C4C6 PRG:04C6 C9 BD + beq InitSpritesAlt2Entry ; CPU:$C4C8 PRG:04C8 F0 DA +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheck10BMax +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheck10BMax: + inc $010B ; CPU:$C4CA PRG:04CA EE 0B 01 + lda $010B ; CPU:$C4CD PRG:04CD AD 0B 01 + cmp #$17 ; CPU:$C4D0 PRG:04D0 C9 17 + bne InitSpritesAlt2Entry ; CPU:$C4D2 PRG:04D2 D0 D0 + lda #$00 ; CPU:$C4D4 PRG:04D4 A9 00 + sta $010B ; CPU:$C4D6 PRG:04D6 8D 0B 01 + lda $010D ; CPU:$C4D9 PRG:04D9 AD 0D 01 + beq InitSpritesCheck10C ; CPU:$C4DC PRG:04DC F0 05 + dec $010C ; CPU:$C4DE PRG:04DE CE 0C 01 + bne InitSpritesCheck10CAF ; CPU:$C4E1 PRG:04E1 D0 03 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheck10C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheck10C: + inc $010C ; CPU:$C4E3 PRG:04E3 EE 0C 01 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheck10CAF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheck10CAF: + lda $010C ; CPU:$C4E6 PRG:04E6 AD 0C 01 + cmp #$AF ; CPU:$C4E9 PRG:04E9 C9 AF + beq InitSpritesSetF4 ; CPU:$C4EB PRG:04EB F0 07 + sta $4000 ; CPU:$C4ED PRG:04ED 8D 00 40 + sta $4004 ; CPU:$C4F0 PRG:04F0 8D 04 40 + rts ; CPU:$C4F3 PRG:04F3 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetF4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetF4: + jsr $C352 ; CPU:$C4F4 PRG:04F4 20 52 C3 + rts ; CPU:$C4F7 PRG:04F7 60 +; ---- data $C4F8-$C507 (16 bytes) ---- + .byte $94, $95, $30, $40, $94, $95, $38, $40, $B0, $A4, $96, $00, $B0, $A4, $8D, $00 ; CPU:$C4F8 PRG:04F8 94 95 30 40 94 95 38 40 B0 A4 96 00 B0 A4 8D 00 +; ----------------------------------------------------------------------------- +; Routine: InitGameState3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState3: + lda ZpE6 ; CPU:$C508 PRG:0508 A5 E6 + cmp #$80 ; CPU:$C50A PRG:050A C9 80 + beq InitGameState3CheckE6 ; CPU:$C50C PRG:050C F0 04 + lda ZpE6 ; CPU:$C50E PRG:050E A5 E6 + bne InitGameState3Loop ; CPU:$C510 PRG:0510 D0 0E +; ----------------------------------------------------------------------------- +; Routine: InitGameState3CheckE6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState3CheckE6: + lda ZpF1 ; CPU:$C512 PRG:0512 A5 F1 + asl a ; CPU:$C514 PRG:0514 0A + bcs InitGameState3Alt ; CPU:$C515 PRG:0515 B0 16 + asl a ; CPU:$C517 PRG:0517 0A + bcs InitGameState4CheckF2 ; CPU:$C518 PRG:0518 B0 28 + lda ZpEF ; CPU:$C51A PRG:051A A5 EF + asl a ; CPU:$C51C PRG:051C 0A + asl a ; CPU:$C51D PRG:051D 0A + bcs InitGameState4Loop ; CPU:$C51E PRG:051E B0 3A +; ----------------------------------------------------------------------------- +; Routine: InitGameState3Loop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState3Loop: + rts ; CPU:$C520 PRG:0520 60 +; ---- data $C521-$C52C (12 bytes) ---- + .byte $A5, $EF, $29, $3F, $85, $EF, $A9, $10, $8D, $00, $40, $60 ; CPU:$C521 PRG:0521 A5 EF 29 3F 85 EF A9 10 8D 00 40 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState3Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState3Alt: + lda ZpEF ; CPU:$C52D PRG:052D A5 EF + and #$3F ; CPU:$C52F PRG:052F 29 3F + ora #$80 ; CPU:$C531 PRG:0531 09 80 + sta ZpEF ; CPU:$C533 PRG:0533 85 EF + lda #$20 ; CPU:$C535 PRG:0535 A9 20 + sta $0104 ; CPU:$C537 PRG:0537 8D 04 01 + ldx #$A0 ; CPU:$C53A PRG:053A A2 A0 + ldy #$C5 ; CPU:$C53C PRG:053C A0 C5 + jsr $C18D ; CPU:$C53E PRG:053E 20 8D C1 + rts ; CPU:$C541 PRG:0541 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4CheckF2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4CheckF2: + lda ZpEF ; CPU:$C542 PRG:0542 A5 EF + and #$3F ; CPU:$C544 PRG:0544 29 3F + ora #$40 ; CPU:$C546 PRG:0546 09 40 + sta ZpEF ; CPU:$C548 PRG:0548 85 EF + lda #$BF ; CPU:$C54A PRG:054A A9 BF + sta $0105 ; CPU:$C54C PRG:054C 8D 05 01 + lda #$00 ; CPU:$C54F PRG:054F A9 00 + sta $0107 ; CPU:$C551 PRG:0551 8D 07 01 + lda #$10 ; CPU:$C554 PRG:0554 A9 10 + sta $4000 ; CPU:$C556 PRG:0556 8D 00 40 + rts ; CPU:$C559 PRG:0559 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4Loop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4Loop: + inc $0105 ; CPU:$C55A PRG:055A EE 05 01 + lda $0105 ; CPU:$C55D PRG:055D AD 05 01 + cmp #$0F ; CPU:$C560 PRG:0560 C9 0F + bne InitGameState4MaskF3 ; CPU:$C562 PRG:0562 D0 2F + lda #$00 ; CPU:$C564 PRG:0564 A9 00 + sta $0105 ; CPU:$C566 PRG:0566 8D 05 01 + inc $0107 ; CPU:$C569 PRG:0569 EE 07 01 + lda $0107 ; CPU:$C56C PRG:056C AD 07 01 + cmp #$0E ; CPU:$C56F PRG:056F C9 0E + beq InitGameState4ClearEF ; CPU:$C571 PRG:0571 F0 1D + lda $05EC ; CPU:$C573 PRG:0573 AD EC 05 + and #$0F ; CPU:$C576 PRG:0576 29 0F + ora #$10 ; CPU:$C578 PRG:0578 09 10 + sta $0106 ; CPU:$C57A PRG:057A 8D 06 01 + sta $4002 ; CPU:$C57D PRG:057D 8D 02 40 + lda #$7F ; CPU:$C580 PRG:0580 A9 7F + sta $4001 ; CPU:$C582 PRG:0582 8D 01 40 + lda #$99 ; CPU:$C585 PRG:0585 A9 99 + sta $4000 ; CPU:$C587 PRG:0587 8D 00 40 + lda #$88 ; CPU:$C58A PRG:058A A9 88 + sta $4003 ; CPU:$C58C PRG:058C 8D 03 40 + rts ; CPU:$C58F PRG:058F 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4ClearEF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4ClearEF: + jmp $C408 ; CPU:$C590 PRG:0590 4C 08 C4 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4MaskF3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4MaskF3: + inc $0106 ; CPU:$C593 PRG:0593 EE 06 01 + inc $0106 ; CPU:$C596 PRG:0596 EE 06 01 + lda $0106 ; CPU:$C599 PRG:0599 AD 06 01 + sta $4002 ; CPU:$C59C PRG:059C 8D 02 40 + rts ; CPU:$C59F PRG:059F 60 +; ---- data $C5A0-$C5A3 (4 bytes) ---- + .byte $95, $B5, $40, $B0 ; CPU:$C5A0 PRG:05A0 95 B5 40 B0 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4MaskEF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4MaskEF: + ldy #$07 ; CPU:$C5A4 PRG:05A4 A0 07 + lda #$40 ; CPU:$C5A6 PRG:05A6 A9 40 + jmp $C63D ; CPU:$C5A8 PRG:05A8 4C 3D C6 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4CheckF9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4CheckF9: + ldy #$09 ; CPU:$C5AB PRG:05AB A0 09 + lda $0309 ; CPU:$C5AD PRG:05AD AD 09 03 + cmp #$01 ; CPU:$C5B0 PRG:05B0 C9 01 + beq InitGameState4DecD8 ; CPU:$C5B2 PRG:05B2 F0 11 + lda $0329 ; CPU:$C5B4 PRG:05B4 AD 29 03 + cmp #$01 ; CPU:$C5B7 PRG:05B7 C9 01 + beq InitGameState4DecD8 ; CPU:$C5B9 PRG:05B9 F0 0A + ldy #$08 ; CPU:$C5BB PRG:05BB A0 08 + lda Zp85 ; CPU:$C5BD PRG:05BD A5 85 + and #$01 ; CPU:$C5BF PRG:05BF 29 01 + beq InitGameState4DecD8 ; CPU:$C5C1 PRG:05C1 F0 02 + ldy #$06 ; CPU:$C5C3 PRG:05C3 A0 06 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4DecD8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4DecD8: + lda #$80 ; CPU:$C5C5 PRG:05C5 A9 80 + jmp $C64E ; CPU:$C5C7 PRG:05C7 4C 4E C6 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4CheckF2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4CheckF2Alt: + ldy #$00 ; CPU:$C5CA PRG:05CA A0 00 + lda #$01 ; CPU:$C5CC PRG:05CC A9 01 + jmp $C63D ; CPU:$C5CE PRG:05CE 4C 3D C6 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4: + lda ZpF2 ; CPU:$C5D1 PRG:05D1 A5 F2 + lsr a ; CPU:$C5D3 PRG:05D3 4A + bcs InitGameState4CheckF2Alt ; CPU:$C5D4 PRG:05D4 B0 F4 + lsr a ; CPU:$C5D6 PRG:05D6 4A + bcs WaitVBlankCheckFF ; CPU:$C5D7 PRG:05D7 B0 26 + lsr a ; CPU:$C5D9 PRG:05D9 4A + bcs WaitVBlankDecD9 ; CPU:$C5DA PRG:05DA B0 1D + lsr a ; CPU:$C5DC PRG:05DC 4A + bcs WaitVBlankCallC1B2 ; CPU:$C5DD PRG:05DD B0 43 + lsr a ; CPU:$C5DF PRG:05DF 4A + bcs WaitVBlankCheckFA ; CPU:$C5E0 PRG:05E0 B0 23 + lsr a ; CPU:$C5E2 PRG:05E2 4A + bcs WaitVBlankCallC1B2Alt ; CPU:$C5E3 PRG:05E3 B0 52 + lsr a ; CPU:$C5E5 PRG:05E5 4A + bcs InitGameState4MaskEF ; CPU:$C5E6 PRG:05E6 B0 BC + lsr a ; CPU:$C5E8 PRG:05E8 4A + bcs InitGameState4CheckF9 ; CPU:$C5E9 PRG:05E9 B0 C0 + lda ZpEF ; CPU:$C5EB PRG:05EB A5 EF + cmp #$04 ; CPU:$C5ED PRG:05ED C9 04 + beq WaitVBlankLoop_C5F5 ; CPU:$C5EF PRG:05EF F0 04 + lda ZpE6 ; CPU:$C5F1 PRG:05F1 A5 E6 + bne WaitVBlankDecD8 ; CPU:$C5F3 PRG:05F3 D0 01 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankLoop_C5F5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankLoop_C5F5: + rts ; CPU:$C5F5 PRG:05F5 60 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankDecD8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankDecD8: + jmp $C20F ; CPU:$C5F6 PRG:05F6 4C 0F C2 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankDecD9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankDecD9: + ldy #$02 ; CPU:$C5F9 PRG:05F9 A0 02 + lda #$04 ; CPU:$C5FB PRG:05FB A9 04 + bne WaitVBlankStore ; CPU:$C5FD PRG:05FD D0 0C +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCheckFF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCheckFF: + ldy #$05 ; CPU:$C5FF PRG:05FF A0 05 + lda #$02 ; CPU:$C601 PRG:0601 A9 02 + bne WaitVBlankStore ; CPU:$C603 PRG:0603 D0 06 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCheckFA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCheckFA: + ldy #$04 ; CPU:$C605 PRG:0605 A0 04 + lda #$10 ; CPU:$C607 PRG:0607 A9 10 + bne WaitVBlankCallC1B2Alt2 ; CPU:$C609 PRG:0609 D0 32 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankStore +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankStore: + jsr $C1B2 ; CPU:$C60B PRG:060B 20 B2 C1 + ldx #$80 ; CPU:$C60E PRG:060E A2 80 + ldy #$06 ; CPU:$C610 PRG:0610 A0 06 + jsr $C05E ; CPU:$C612 PRG:0612 20 5E C0 + lda #$83 ; CPU:$C615 PRG:0615 A9 83 + sta $4001 ; CPU:$C617 PRG:0617 8D 01 40 + lda #$7F ; CPU:$C61A PRG:061A A9 7F + sta $4005 ; CPU:$C61C PRG:061C 8D 05 40 + jmp $C647 ; CPU:$C61F PRG:061F 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCallC1B2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCallC1B2: + ldy #$03 ; CPU:$C622 PRG:0622 A0 03 + lda #$08 ; CPU:$C624 PRG:0624 A9 08 + bne WaitVBlankCallC1B2Alt2 ; CPU:$C626 PRG:0626 D0 15 + jsr $C1B2 ; CPU:$C628 PRG:0628 20 B2 C1 + ldx #$80 ; CPU:$C62B PRG:062B A2 80 + ldy #$80 ; CPU:$C62D PRG:062D A0 80 + lda #$83 ; CPU:$C62F PRG:062F A9 83 + jsr $C058 ; CPU:$C631 PRG:0631 20 58 C0 + jmp $C647 ; CPU:$C634 PRG:0634 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCallC1B2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCallC1B2Alt: + ldy #$01 ; CPU:$C637 PRG:0637 A0 01 + lda #$20 ; CPU:$C639 PRG:0639 A9 20 + bne WaitVBlankCallC1B2Alt2 ; CPU:$C63B PRG:063B D0 00 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCallC1B2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCallC1B2Alt2: + jsr $C1B2 ; CPU:$C63D PRG:063D 20 B2 C1 + ldx #$04 ; CPU:$C640 PRG:0640 A2 04 + ldy #$04 ; CPU:$C642 PRG:0642 A0 04 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankJmpC20F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankJmpC20F: + jsr $C056 ; CPU:$C644 PRG:0644 20 56 C0 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankZeroE4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankZeroE4: + lda #$00 ; CPU:$C647 PRG:0647 A9 00 + sta ZpE4 ; CPU:$C649 PRG:0649 85 E4 + jmp $C20F ; CPU:$C64B PRG:064B 4C 0F C2 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCallC1B2Zero +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCallC1B2Zero: + jsr $C1B2 ; CPU:$C64E PRG:064E 20 B2 C1 + ldx #$00 ; CPU:$C651 PRG:0651 A2 00 + ldy #$80 ; CPU:$C653 PRG:0653 A0 80 + bne WaitVBlankJmpC20F ; CPU:$C655 PRG:0655 D0 ED + asl a ; CPU:$C657 PRG:0657 0A +; ---- data $C658-$C9FF (936 bytes) ---- +; referenced by `lda $C658,y` at $C1C1 (operand $C658 falls inside this region) +; referenced by `lda $C659,y` at $C1C6 (operand $C659 falls inside this region) +; referenced by `lda $C65A,y` at $C1CB (operand $C65A falls inside this region) +; referenced by `lda $C65B,y` at $C1D0 (operand $C65B falls inside this region) +; referenced by `lda $C65C,y` at $C1D5 (operand $C65C falls inside this region) +; referenced by `lda $C65D,y` at $C1DA (operand $C65D falls inside this region) +; ... and 2 further references from decoded code + .byte $13, $1C, $25, $2E, $37, $40, $49, $52, $5B, $08, $37, $C9, $00, $00, $00, $00 ; CPU:$C658 PRG:0658 13 1C 25 2E 37 40 49 52 5B 08 37 C9 00 00 00 00 + .byte $00, $00, $10, $10, $C8, $2B, $C8, $45, $C8, $1B, $C9, $10, $74, $C8, $5F, $C8 ; CPU:$C668 PRG:0668 00 00 10 10 C8 2B C8 45 C8 1B C9 10 74 C8 5F C8 + .byte $7E, $C8, $93, $C8, $10, $3D, $C9, $58, $C9, $72, $C9, $1B, $C9, $10, $A7, $C8 ; CPU:$C678 PRG:0678 7E C8 93 C8 10 3D C9 58 C9 72 C9 1B C9 10 A7 C8 + .byte $D3, $C8, $FE, $C8, $1B, $C9, $10, $83, $C9, $9C, $C9, $B2, $C9, $C8, $C9, $10 ; CPU:$C688 PRG:0688 D3 C8 FE C8 1B C9 10 83 C9 9C C9 B2 C9 C8 C9 10 + .byte $00, $00, $00, $00, $6A, $C7, $E9, $C7, $10, $BB, $C6, $FD, $C6, $3B, $C7, $61 ; CPU:$C698 PRG:0698 00 00 00 00 6A C7 E9 C7 10 BB C6 FD C6 3B C7 61 + .byte $C7, $10, $00, $00, $00, $00, $99, $C7, $E9, $C7, $10, $00, $00, $00, $00, $C6 ; CPU:$C6A8 PRG:06A8 C7 10 00 00 00 00 99 C7 E9 C7 10 00 00 00 00 C6 + .byte $C7, $E9, $C7, $89, $02, $02, $2A, $30, $32, $08, $C8, $8A, $12, $08, $FF, $89 ; CPU:$C6B8 PRG:06B8 C7 E9 C7 89 02 02 2A 30 32 08 C8 8A 12 08 FF 89 + .byte $0C, $02, $08, $02, $02, $2A, $02, $02, $2A, $24, $02, $20, $22, $24, $2A, $2E ; CPU:$C6C8 PRG:06C8 0C 02 08 02 02 2A 02 02 2A 24 02 20 22 24 2A 2E + .byte $02, $2A, $C8, $8A, $12, $08, $FF, $89, $1A, $02, $12, $02, $02, $08, $02, $02 ; CPU:$C6D8 PRG:06D8 02 2A C8 8A 12 08 FF 89 1A 02 12 02 02 08 02 02 + .byte $08, $08, $02, $08, $0A, $0C, $12, $64, $02, $1A, $12, $02, $02, $82, $02, $02 ; CPU:$C6E8 PRG:06E8 08 08 02 08 0A 0C 12 64 02 1A 12 02 02 82 02 02 + .byte $89, $18, $02, $1A, $00, $82, $02, $02, $89, $02, $02, $20, $02, $02, $02, $2A ; CPU:$C6F8 PRG:06F8 89 18 02 1A 00 82 02 02 89 02 02 20 02 02 02 2A + .byte $02, $26, $02, $02, $82, $20, $89, $20, $04, $02, $02, $02, $02, $02, $1C, $02 ; CPU:$C708 PRG:0708 02 26 02 02 82 20 89 20 04 02 02 02 02 02 1C 02 + .byte $82, $1C, $89, $4A, $02, $02, $42, $08, $02, $32, $02, $02, $2E, $02, $02, $2E ; CPU:$C718 PRG:0718 82 1C 89 4A 02 02 42 08 02 32 02 02 2E 02 02 2E + .byte $82, $2A, $89, $02, $02, $04, $0C, $02, $04, $32, $02, $02, $82, $02, $02, $89 ; CPU:$C728 PRG:0728 82 2A 89 02 02 04 0C 02 04 32 02 02 82 02 02 89 + .byte $06, $02, $08, $82, $02, $02, $42, $89, $42, $02, $38, $82, $4A, $4A, $1C, $1C ; CPU:$C738 PRG:0738 06 02 08 82 02 02 42 89 42 02 38 82 4A 4A 1C 1C + .byte $20, $89, $20, $02, $38, $82, $42, $89, $42, $02, $20, $82, $4A, $4A, $1C, $34 ; CPU:$C748 PRG:0748 20 89 20 02 38 82 42 89 42 02 20 82 4A 4A 1C 34 + .byte $38, $38, $42, $02, $02, $89, $40, $02, $42, $82, $02, $02, $DC, $89, $06, $03 ; CPU:$C758 PRG:0758 38 38 42 02 02 89 40 02 42 82 02 02 DC 89 06 03 + .byte $06, $FF, $F2, $89, $42, $02, $02, $02, $02, $48, $4A, $02, $02, $38, $02, $42 ; CPU:$C768 PRG:0768 06 FF F2 89 42 02 02 02 02 48 4A 02 02 38 02 42 + .byte $02, $02, $3E, $44, $46, $1C, $20, $02, $1C, $02, $02, $2A, $02, $02, $42, $02 ; CPU:$C778 PRG:0778 02 02 3E 44 46 1C 20 02 1C 02 02 2A 02 02 42 02 + .byte $02, $4A, $24, $02, $02, $20, $02, $1C, $88, $26, $1C, $46, $3E, $38, $34, $FF ; CPU:$C788 PRG:0788 02 4A 24 02 02 20 02 1C 88 26 1C 46 3E 38 34 FF + .byte $00, $F2, $89, $46, $02, $02, $02, $02, $1E, $24, $02, $02, $1E, $02, $24, $20 ; CPU:$C798 PRG:0798 00 F2 89 46 02 02 02 02 1E 24 02 02 1E 02 24 20 + .byte $02, $40, $02, $02, $02, $88, $40, $42, $44, $89, $46, $02, $02, $1C, $02, $1E ; CPU:$C7A8 PRG:07A8 02 40 02 02 02 88 40 42 44 89 46 02 02 1C 02 1E + .byte $02, $02, $24, $1E, $02, $02, $88, $2A, $28, $20, $40, $42, $44, $FF, $F2, $81 ; CPU:$C7B8 PRG:07B8 02 02 24 1E 02 02 88 2A 28 20 40 42 44 FF F2 81 + .byte $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $3E, $40 ; CPU:$C7C8 PRG:07C8 3C 3C 42 44 3C 3C 42 44 3C 3C 42 44 3C 3C 3E 40 + .byte $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $40, $3E ; CPU:$C7D8 PRG:07D8 42 42 48 4A 42 42 48 4A 42 42 48 4A 42 42 40 3E + .byte $FF, $F2, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $82, $0C, $0C, $0C, $89, $0C ; CPU:$C7E8 PRG:07E8 FF F2 82 0C 0C 0C 89 0C 03 0C 82 0C 0C 0C 89 0C + .byte $03, $0C, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $89, $0C, $03, $0C, $0C, $03 ; CPU:$C7F8 PRG:07F8 03 0C 82 0C 0C 0C 89 0C 03 0C 89 0C 03 0C 0C 03 + .byte $03, $0C, $03, $0C, $0C, $03, $03, $FF, $89, $04, $02, $20, $02, $02, $6A, $18 ; CPU:$C808 PRG:0808 03 0C 03 0C 0C 03 03 FF 89 04 02 20 02 02 6A 18 + .byte $02, $0C, $02, $02, $2A, $68, $02, $16, $0A, $02, $08, $02, $02, $82, $2A, $89 ; CPU:$C818 PRG:0818 02 0C 02 02 2A 68 02 16 0A 02 08 02 02 82 2A 89 + .byte $02, $48, $00, $89, $34, $02, $48, $02, $02, $22, $48, $02, $3C, $02, $02, $22 ; CPU:$C828 PRG:0828 02 48 00 89 34 02 48 02 02 22 48 02 3C 02 02 22 + .byte $20, $02, $46, $3A, $02, $38, $02, $02, $82, $22, $89, $02, $3C, $89, $34, $02 ; CPU:$C838 PRG:0838 20 02 46 3A 02 38 02 02 82 22 89 02 3C 89 34 02 + .byte $34, $48, $02, $22, $82, $46, $89, $42, $02, $08, $02, $3E, $3E, $82, $3A, $89 ; CPU:$C848 PRG:0848 34 48 02 22 82 46 89 42 02 08 02 3E 3E 82 3A 89 + .byte $38, $02, $82, $08, $89, $02, $34, $89, $32, $02, $2E, $02, $02, $02, $2A, $02 ; CPU:$C858 PRG:0858 38 02 82 08 89 02 34 89 32 02 2E 02 02 02 2A 02 + .byte $02, $26, $02, $02, $24, $02, $26, $24, $02, $20, $82, $02, $82, $02, $02, $1C ; CPU:$C868 PRG:0868 02 26 02 02 24 02 26 24 02 20 82 02 82 02 02 1C + .byte $02, $02, $02, $81, $1C, $00, $89, $2A, $02, $26, $02, $02, $02, $24, $02, $02 ; CPU:$C878 PRG:0878 02 02 02 81 1C 00 89 2A 02 26 02 02 02 24 02 02 + .byte $20, $02, $02, $1C, $02, $20, $1C, $02, $4A, $82, $02, $82, $03, $89, $06, $03 ; CPU:$C888 PRG:0888 20 02 02 1C 02 20 1C 02 4A 82 02 82 03 89 06 03 + .byte $06, $82, $03, $89, $06, $03, $06, $03, $06, $03, $06, $03, $06, $82, $09, $89 ; CPU:$C898 PRG:0898 06 82 03 89 06 03 06 03 06 03 06 03 06 82 09 89 + .byte $0C, $02, $12, $26, $02, $08, $08, $02, $2A, $24, $02, $20, $02, $02, $12, $2A ; CPU:$C8A8 PRG:08A8 0C 02 12 26 02 08 08 02 2A 24 02 20 02 02 12 2A + .byte $30, $2A, $32, $02, $04, $02, $06, $48, $20, $02, $2A, $02, $02, $02, $20, $02 ; CPU:$C8B8 PRG:08B8 30 2A 32 02 04 02 06 48 20 02 2A 02 02 02 20 02 + .byte $2A, $12, $08, $2C, $32, $2A, $1C, $04, $02, $32, $00, $89, $02, $02, $08, $82 ; CPU:$C8C8 PRG:08C8 2A 12 08 2C 32 2A 1C 04 02 32 00 89 02 02 08 82 + .byte $20, $89, $30, $02, $02, $48, $02, $46, $02, $02, $4A, $02, $48, $02, $4A, $02 ; CPU:$C8D8 PRG:08D8 20 89 30 02 02 48 02 46 02 02 4A 02 48 02 4A 02 + .byte $1C, $02, $1E, $24, $46, $02, $20, $02, $02, $2A, $44, $02, $44, $02, $02, $02 ; CPU:$C8E8 PRG:08E8 1C 02 1E 24 46 02 20 02 02 2A 44 02 44 02 02 02 + .byte $24, $1C, $02, $22, $02, $24, $C2, $89, $42, $02, $42, $82, $4A, $1C, $24, $FF ; CPU:$C8F8 PRG:08F8 24 1C 02 22 02 24 C2 89 42 02 42 82 4A 1C 24 FF + .byte $89, $42, $02, $42, $42, $42, $42, $48, $02, $48, $48, $48, $48, $46, $46, $46 ; CPU:$C908 PRG:0908 89 42 02 42 42 42 42 48 02 48 48 48 48 46 46 46 + .byte $44, $02, $42, $C2, $89, $06, $03, $06, $82, $09, $89, $06, $06, $03, $82, $09 ; CPU:$C918 PRG:0918 44 02 42 C2 89 06 03 06 82 09 89 06 06 03 82 09 + .byte $FF, $C2, $06, $03, $06, $03, $06, $06, $FF, $06, $06, $06, $09, $03, $09, $C4 ; CPU:$C928 PRG:0928 FF C2 06 03 06 03 06 06 FF 06 06 06 09 03 09 C4 + .byte $80, $10, $6E, $FF, $00, $89, $02, $02, $2A, $02, $02, $48, $2E, $02, $04, $02 ; CPU:$C938 PRG:0938 80 10 6E FF 00 89 02 02 2A 02 02 48 2E 02 04 02 + .byte $02, $22, $20, $02, $04, $0A, $0E, $10, $12, $0A, $04, $30, $2A, $22, $24, $00 ; CPU:$C948 PRG:0948 02 22 20 02 04 0A 0E 10 12 0A 04 30 2A 22 24 00 + .byte $89, $02, $02, $20, $02, $02, $82, $3C, $89, $2A, $02, $02, $48, $46, $02, $02 ; CPU:$C958 PRG:0958 89 02 02 20 02 02 82 3C 89 2A 02 02 48 46 02 02 + .byte $02, $02, $3A, $02, $02, $22, $02, $02, $46, $48, $89, $1C, $02, $1C, $82, $48 ; CPU:$C968 PRG:0968 02 02 3A 02 02 22 02 02 46 48 89 1C 02 1C 82 48 + .byte $46, $42, $89, $02, $02, $3E, $82, $3A, $38, $36, $34, $89, $02, $02, $12, $82 ; CPU:$C978 PRG:0978 46 42 89 02 02 3E 82 3A 38 36 34 89 02 02 12 82 + .byte $02, $1C, $02, $02, $89, $02, $02, $1C, $82, $1C, $02, $89, $02, $02, $12, $02 ; CPU:$C988 PRG:0988 02 1C 02 02 89 02 02 1C 82 1C 02 89 02 02 12 02 + .byte $02, $2E, $1C, $00, $89, $04, $02, $02, $02, $02, $0E, $0A, $02, $06, $02, $02 ; CPU:$C998 PRG:0998 02 2E 1C 00 89 04 02 02 02 02 0E 0A 02 06 02 02 + .byte $02, $04, $02, $06, $32, $02, $04, $84, $02, $02, $89, $2C, $02, $02, $02, $02 ; CPU:$C9A8 PRG:09A8 02 04 02 06 32 02 04 84 02 02 89 2C 02 02 02 02 + .byte $06, $04, $02, $30, $02, $02, $02, $2C, $02, $30, $2A, $02, $2C, $84, $02, $02 ; CPU:$C9B8 PRG:09B8 06 04 02 30 02 02 02 2C 02 30 2A 02 2C 84 02 02 + .byte $89, $06, $03, $06, $06, $03, $06, $06, $06, $03, $06, $03, $06, $03, $06, $03 ; CPU:$C9C8 PRG:09C8 89 06 03 06 06 03 06 06 06 03 06 03 06 03 06 03 + .byte $06, $03, $06, $06, $03, $03, $06, $03, $09, $03, $06, $03, $06, $03, $06, $06 ; CPU:$C9D8 PRG:09D8 06 03 06 06 03 03 06 03 09 03 06 03 06 03 06 06 + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9E8 PRG:09E8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9F8 PRG:09F8 FF FF FF FF FF FF FF FF +; ----------------------------------------------------------------------------- +; Routine: Reset +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Reset: + cld ; CPU:$CA00 PRG:0A00 D8 + sei ; CPU:$CA01 PRG:0A01 78 +; ----------------------------------------------------------------------------- +; Routine: WaitPPUReady +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitPPUReady: + lda $2002 ; CPU:$CA02 PRG:0A02 AD 02 20 + bpl WaitPPUReady ; CPU:$CA05 PRG:0A05 10 FB + ldx #$00 ; CPU:$CA07 PRG:0A07 A2 00 + stx $2000 ; CPU:$CA09 PRG:0A09 8E 00 20 + stx $2001 ; CPU:$CA0C PRG:0A0C 8E 01 20 + dex ; CPU:$CA0F PRG:0A0F CA + txs ; CPU:$CA10 PRG:0A10 9A + ldx $05EC ; CPU:$CA11 PRG:0A11 AE EC 05 + jsr $D07A ; CPU:$CA14 PRG:0A14 20 7A D0 + ldy #$06 ; CPU:$CA17 PRG:0A17 A0 06 + sty Zp01 ; CPU:$CA19 PRG:0A19 84 01 + ldy #$00 ; CPU:$CA1B PRG:0A1B A0 00 + sty Zp00 ; CPU:$CA1D PRG:0A1D 84 00 + lda #$00 ; CPU:$CA1F PRG:0A1F A9 00 +; ----------------------------------------------------------------------------- +; Routine: ClearRAMLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearRAMLoop: + sta (Zp00),y ; CPU:$CA21 PRG:0A21 91 00 + dey ; CPU:$CA23 PRG:0A23 88 + bne ClearRAMLoop ; CPU:$CA24 PRG:0A24 D0 FB + dec Zp01 ; CPU:$CA26 PRG:0A26 C6 01 + bpl ClearRAMLoop ; CPU:$CA28 PRG:0A28 10 F7 + txa ; CPU:$CA2A PRG:0A2A 8A + bne StoreConfig ; CPU:$CA2B PRG:0A2B D0 02 + ldx #$5F ; CPU:$CA2D PRG:0A2D A2 5F +; ----------------------------------------------------------------------------- +; Routine: StoreConfig +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +StoreConfig: + stx $05EC ; CPU:$CA2F PRG:0A2F 8E EC 05 + jsr $CC67 ; CPU:$CA32 PRG:0A32 20 67 CC + jsr $CC77 ; CPU:$CA35 PRG:0A35 20 77 CC + ldy #$00 ; CPU:$CA38 PRG:0A38 A0 00 + sta $2005 ; CPU:$CA3A PRG:0A3A 8D 05 20 + sta $2005 ; CPU:$CA3D PRG:0A3D 8D 05 20 + ldy #$01 ; CPU:$CA40 PRG:0A40 A0 01 + sty Zp24 ; CPU:$CA42 PRG:0A42 84 24 + sty ZpA5 ; CPU:$CA44 PRG:0A44 84 A5 + lda #$0F ; CPU:$CA46 PRG:0A46 A9 0F + sta $4015 ; CPU:$CA48 PRG:0A48 8D 15 40 + jsr $C003 ; CPU:$CA4B PRG:0A4B 20 03 C0 + jsr $E7EF ; CPU:$CA4E PRG:0A4E 20 EF E7 + lda #$90 ; CPU:$CA51 PRG:0A51 A9 90 + sta $2000 ; CPU:$CA53 PRG:0A53 8D 00 20 + sta Zp08 ; CPU:$CA56 PRG:0A56 85 08 + lda #$02 ; CPU:$CA58 PRG:0A58 A9 02 + sta Zp09 ; CPU:$CA5A PRG:0A5A 85 09 + ldx #$0B ; CPU:$CA5C PRG:0A5C A2 0B +; ----------------------------------------------------------------------------- +; Routine: CopyConfigData +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CopyConfigData: + lda $F68A,x ; CPU:$CA5E PRG:0A5E BD 8A F6 + sta $05F0,x ; CPU:$CA61 PRG:0A61 9D F0 05 + dex ; CPU:$CA64 PRG:0A64 CA + bpl CopyConfigData ; CPU:$CA65 PRG:0A65 10 F7 + bmi MainGameLoop ; CPU:$CA67 PRG:0A67 30 1E +; ----------------------------------------------------------------------------- +; Routine: TitleScreenLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +TitleScreenLoop: + lda Zp24 ; CPU:$CA69 PRG:0A69 A5 24 + beq CallInitAPU ; CPU:$CA6B PRG:0A6B F0 06 + lda Zp26 ; CPU:$CA6D PRG:0A6D A5 26 + cmp #$01 ; CPU:$CA6F PRG:0A6F C9 01 + bne GameplayFrame ; CPU:$CA71 PRG:0A71 D0 03 +; ----------------------------------------------------------------------------- +; Routine: CallInitAPU +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CallInitAPU: + jsr $C000 ; CPU:$CA73 PRG:0A73 20 00 C0 +; ----------------------------------------------------------------------------- +; Routine: GameplayFrame +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +GameplayFrame: + jsr $CDCA ; CPU:$CA76 PRG:0A76 20 CA CD + jsr $CCD0 ; CPU:$CA79 PRG:0A79 20 D0 CC + jsr $CADA ; CPU:$CA7C PRG:0A7C 20 DA CA + jsr $DB48 ; CPU:$CA7F PRG:0A7F 20 48 DB + inc Zp2F ; CPU:$CA82 PRG:0A82 E6 2F + jsr $D057 ; CPU:$CA84 PRG:0A84 20 57 D0 +; ----------------------------------------------------------------------------- +; Routine: MainGameLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +MainGameLoop: + lda Zp20 ; CPU:$CA87 PRG:0A87 A5 20 + bne TitleScreenLoop ; CPU:$CA89 PRG:0A89 D0 DE + jsr $CFA1 ; CPU:$CA8B PRG:0A8B 20 A1 CF + jmp $CA87 ; CPU:$CA8E PRG:0A8E 4C 87 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +NmiHandler: + php ; CPU:$CA91 PRG:0A91 08 + pha ; CPU:$CA92 PRG:0A92 48 + txa ; CPU:$CA93 PRG:0A93 8A + pha ; CPU:$CA94 PRG:0A94 48 + tya ; CPU:$CA95 PRG:0A95 98 + pha ; CPU:$CA96 PRG:0A96 48 + lda Zp86 ; CPU:$CA97 PRG:0A97 A5 86 + bne NmiVBlankOnly_CAC2 ; CPU:$CA99 PRG:0A99 D0 27 + lda #$00 ; CPU:$CA9B PRG:0A9B A9 00 + sta $2003 ; CPU:$CA9D PRG:0A9D 8D 03 20 + lda #$02 ; CPU:$CAA0 PRG:0AA0 A9 02 + sta $4014 ; CPU:$CAA2 PRG:0AA2 8D 14 40 + lda Zp22 ; CPU:$CAA5 PRG:0AA5 A5 22 + bne NmiExit ; CPU:$CAA7 PRG:0AA7 D0 0C + jsr $CD41 ; CPU:$CAA9 PRG:0AA9 20 41 CD + jsr $CC85 ; CPU:$CAAC PRG:0AAC 20 85 CC + jsr $CCAF ; CPU:$CAAF PRG:0AAF 20 AF CC +; ----------------------------------------------------------------------------- +; Routine: NmiFrameUpdate4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +NmiFrameUpdate4: + jsr $CE43 ; CPU:$CAB2 PRG:0AB2 20 43 CE +; ----------------------------------------------------------------------------- +; Routine: NmiExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +NmiExit: + ldy #$01 ; CPU:$CAB5 PRG:0AB5 A0 01 + sty Zp22 ; CPU:$CAB7 PRG:0AB7 84 22 + sty Zp20 ; CPU:$CAB9 PRG:0AB9 84 20 + pla ; CPU:$CABB PRG:0ABB 68 + tay ; CPU:$CABC PRG:0ABC A8 + pla ; CPU:$CABD PRG:0ABD 68 + tax ; CPU:$CABE PRG:0ABE AA + pla ; CPU:$CABF PRG:0ABF 68 + plp ; CPU:$CAC0 PRG:0AC0 28 + rti ; CPU:$CAC1 PRG:0AC1 40 +; ----------------------------------------------------------------------------- +; Routine: NmiVBlankOnly_CAC2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +NmiVBlankOnly_CAC2: + lda Zp09 ; CPU:$CAC2 PRG:0AC2 A5 09 + and #$E7 ; CPU:$CAC4 PRG:0AC4 29 E7 + sta Zp09 ; CPU:$CAC6 PRG:0AC6 85 09 + sta $2001 ; CPU:$CAC8 PRG:0AC8 8D 01 20 + jsr $D174 ; CPU:$CACB PRG:0ACB 20 74 D1 + lda Zp09 ; CPU:$CACE PRG:0ACE A5 09 + ora #$18 ; CPU:$CAD0 PRG:0AD0 09 18 + sta Zp09 ; CPU:$CAD2 PRG:0AD2 85 09 + sta $2001 ; CPU:$CAD4 PRG:0AD4 8D 01 20 + jmp $CAB2 ; CPU:$CAD7 PRG:0AD7 4C B2 CA +; ----------------------------------------------------------------------------- +; Routine: UpdateScroll +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScroll: + lda Zp24 ; CPU:$CADA PRG:0ADA A5 24 + beq TitleScreenCheckMode ; CPU:$CADC PRG:0ADC F0 03 + jmp $CB91 ; CPU:$CADE PRG:0ADE 4C 91 CB +; ----------------------------------------------------------------------------- +; Routine: TitleScreenCheckMode +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +TitleScreenCheckMode: + lda Zp16 ; CPU:$CAE1 PRG:0AE1 A5 16 + and #$10 ; CPU:$CAE3 PRG:0AE3 29 10 + beq TitleScreenLoopCallInitAPU ; CPU:$CAE5 PRG:0AE5 F0 7A + ldy $05FC ; CPU:$CAE7 PRG:0AE7 AC FC 05 + bne UpdateScrollEntry ; CPU:$CAEA PRG:0AEA D0 7A + iny ; CPU:$CAEC PRG:0AEC C8 + sty $05FC ; CPU:$CAED PRG:0AED 8C FC 05 + ldy Zp25 ; CPU:$CAF0 PRG:0AF0 A4 25 + cpy #$10 ; CPU:$CAF2 PRG:0AF2 C0 10 + beq CheckControllerStartExit ; CPU:$CAF4 PRG:0AF4 F0 3B + cpy #$03 ; CPU:$CAF6 PRG:0AF6 C0 03 + beq CheckControllerStartEntry ; CPU:$CAF8 PRG:0AF8 F0 0C + cpy #$04 ; CPU:$CAFA PRG:0AFA C0 04 + beq CheckControllerStartEntry ; CPU:$CAFC PRG:0AFC F0 08 + cpy #$0B ; CPU:$CAFE PRG:0AFE C0 0B + beq CheckControllerStartEntry ; CPU:$CB00 PRG:0B00 F0 04 + cpy #$0C ; CPU:$CB02 PRG:0B02 C0 0C + bne UpdateScrollEntry ; CPU:$CB04 PRG:0B04 D0 60 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartEntry: + lda $0321 ; CPU:$CB06 PRG:0B06 AD 21 03 + cmp #$0B ; CPU:$CB09 PRG:0B09 C9 0B + beq UpdateScrollEntry ; CPU:$CB0B PRG:0B0B F0 59 + ldx #$05 ; CPU:$CB0D PRG:0B0D A2 05 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartLoop: + lda Zp2A,x ; CPU:$CB0F PRG:0B0F B5 2A + sta $0430,x ; CPU:$CB11 PRG:0B11 9D 30 04 + dex ; CPU:$CB14 PRG:0B14 CA + bpl CheckControllerStartLoop ; CPU:$CB15 PRG:0B15 10 F8 + lda Zp09 ; CPU:$CB17 PRG:0B17 A5 09 + and #$0E ; CPU:$CB19 PRG:0B19 29 0E + sta $2001 ; CPU:$CB1B PRG:0B1B 8D 01 20 + sta Zp09 ; CPU:$CB1E PRG:0B1E 85 09 + lda Zp25 ; CPU:$CB20 PRG:0B20 A5 25 + sta Zp1D ; CPU:$CB22 PRG:0B22 85 1D + lda #$00 ; CPU:$CB24 PRG:0B24 A9 00 + sta Zp96 ; CPU:$CB26 PRG:0B26 85 96 + lda #$10 ; CPU:$CB28 PRG:0B28 A9 10 + sta Zp25 ; CPU:$CB2A PRG:0B2A 85 25 + lda #$02 ; CPU:$CB2C PRG:0B2C A9 02 + jmp $CB55 ; CPU:$CB2E PRG:0B2E 4C 55 CB +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartExit: + lda Zp09 ; CPU:$CB31 PRG:0B31 A5 09 + ora #$10 ; CPU:$CB33 PRG:0B33 09 10 + sta $2001 ; CPU:$CB35 PRG:0B35 8D 01 20 + sta Zp09 ; CPU:$CB38 PRG:0B38 85 09 + lda #$11 ; CPU:$CB3A PRG:0B3A A9 11 + sta Zp25 ; CPU:$CB3C PRG:0B3C 85 25 + lda #$30 ; CPU:$CB3E PRG:0B3E A9 30 + sta Zp1C ; CPU:$CB40 PRG:0B40 85 1C + lda #$00 ; CPU:$CB42 PRG:0B42 A9 00 + jsr $E70C ; CPU:$CB44 PRG:0B44 20 0C E7 + jsr $E793 ; CPU:$CB47 PRG:0B47 20 93 E7 +; ---- data $CB4A-$CB4A (1 bytes) ---- + .byte $A5 ; CPU:$CB4A PRG:0B4A A5 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartWait +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartWait: + inc ZpD0 ; CPU:$CB4B PRG:0B4B E6 D0 +; ---- data $CB4D-$CB4D (1 bytes) ---- + .byte $03 ; CPU:$CB4D PRG:0B4D 03 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartJmp +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartJmp: + jmp $E7F7 ; CPU:$CB4E PRG:0B4E 4C F7 E7 +; ----------------------------------------------------------------------------- +; Routine: GameplayFrameCallD012 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +GameplayFrameCallD012: + jsr $D012 ; CPU:$CB51 PRG:0B51 20 12 D0 + rts ; CPU:$CB54 PRG:0B54 60 +; ----------------------------------------------------------------------------- +; Routine: GameplayFrameCallE70C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +GameplayFrameCallE70C: + jsr $E70C ; CPU:$CB55 PRG:0B55 20 0C E7 + jsr $E793 ; CPU:$CB58 PRG:0B58 20 93 E7 + jsr $D012 ; CPU:$CB5B PRG:0B5B 20 12 D0 + jmp $E7DB ; CPU:$CB5E PRG:0B5E 4C DB E7 +; ----------------------------------------------------------------------------- +; Routine: TitleScreenLoopCallInitAPU +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +TitleScreenLoopCallInitAPU: + lda #$00 ; CPU:$CB61 PRG:0B61 A9 00 + sta $05FC ; CPU:$CB63 PRG:0B63 8D FC 05 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollEntry: + lda Zp25 ; CPU:$CB66 PRG:0B66 A5 25 + jsr $CDE0 ; CPU:$CB68 PRG:0B68 20 E0 CD + sta $B7D0,x ; CPU:$CB6B PRG:0B6B 9D D0 B7 + bne CheckControllerStartJmp ; CPU:$CB6E PRG:0B6E D0 DE +; ---- data $CB70-$CBAC (61 bytes) ---- +; referenced by `jmp $CB91` at $CADE (operand $CB91 falls inside this region) + .byte $D0, $87, $D1, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19 ; CPU:$CB70 PRG:0B70 D0 87 D1 19 D0 19 D0 19 D0 19 D0 19 D0 19 D0 19 + .byte $D0, $19, $D0, $19, $D0, $19, $D0, $52, $D1, $19, $D0, $19, $D0, $BD, $CC, $5E ; CPU:$CB80 PRG:0B80 D0 19 D0 19 D0 19 D0 52 D1 19 D0 19 D0 BD CC 5E + .byte $D0, $A5, $C0, $D0, $2B, $A9, $11, $8D, $00, $05, $A0, $22, $A2, $26, $AD, $FE ; CPU:$CB90 PRG:0B90 D0 A5 C0 D0 2B A9 11 8D 00 05 A0 22 A2 26 AD FE + .byte $05, $F0, $02, $A2, $2F, $8E, $01, $05, $A2, $64, $20, $8E, $D0 ; CPU:$CBA0 PRG:0BA0 05 F0 02 A2 2F 8E 01 05 A2 64 20 8E D0 + ldx #$26 ; CPU:$CBAD PRG:0BAD A2 26 + lda $05FE ; CPU:$CBAF PRG:0BAF AD FE 05 + bne InitSpritesSetPos ; CPU:$CBB2 PRG:0BB2 D0 02 + ldx #$2F ; CPU:$CBB4 PRG:0BB4 A2 2F +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetPos +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetPos: + stx $0501 ; CPU:$CBB6 PRG:0BB6 8E 01 05 + ldx #$A4 ; CPU:$CBB9 PRG:0BB9 A2 A4 + ldy #$22 ; CPU:$CBBB PRG:0BBB A0 22 + jsr $D08E ; CPU:$CBBD PRG:0BBD 20 8E D0 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesZero5FF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesZero5FF: + lda #$00 ; CPU:$CBC0 PRG:0BC0 A9 00 + sta $05FF ; CPU:$CBC2 PRG:0BC2 8D FF 05 + lda #$01 ; CPU:$CBC5 PRG:0BC5 A9 01 + sta ZpB9 ; CPU:$CBC7 PRG:0BC7 85 B9 + sta ZpBA ; CPU:$CBC9 PRG:0BC9 85 BA + lda Zp26 ; CPU:$CBCB PRG:0BCB A5 26 + beq InitSpritesBeqCBFB ; CPU:$CBCD PRG:0BCD F0 2C + lda $05FF ; CPU:$CBCF PRG:0BCF AD FF 05 + cmp #$01 ; CPU:$CBD2 PRG:0BD2 C9 01 + beq InitSprites ; CPU:$CBD4 PRG:0BD4 F0 0C + cmp #$02 ; CPU:$CBD6 PRG:0BD6 C9 02 + beq InitSpritesExit ; CPU:$CBD8 PRG:0BD8 F0 31 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollLogic +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollLogic: + lda Zp16 ; CPU:$CBDA PRG:0BDA A5 16 + and #$30 ; CPU:$CBDC PRG:0BDC 29 30 + cmp #$10 ; CPU:$CBDE PRG:0BDE C9 10 + bne InitSpritesAlt ; CPU:$CBE0 PRG:0BE0 D0 15 +; ----------------------------------------------------------------------------- +; Routine: InitSprites +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSprites: + lda #$00 ; CPU:$CBE2 PRG:0BE2 A9 00 + sta Zp24 ; CPU:$CBE4 PRG:0BE4 85 24 + sta Zp25 ; CPU:$CBE6 PRG:0BE6 85 25 + sta ZpC0 ; CPU:$CBE8 PRG:0BE8 85 C0 + jsr $E793 ; CPU:$CBEA PRG:0BEA 20 93 E7 + jsr $D01A ; CPU:$CBED PRG:0BED 20 1A D0 + lda #$02 ; CPU:$CBF0 PRG:0BF0 A9 02 + sta Zp2A ; CPU:$CBF2 PRG:0BF2 85 2A + sta Zp2D ; CPU:$CBF4 PRG:0BF4 85 2D + rts ; CPU:$CBF6 PRG:0BF6 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt: + ldx Zp26 ; CPU:$CBF7 PRG:0BF7 A6 26 + bne UpdateScrollCheckZp1F ; CPU:$CBF9 PRG:0BF9 D0 07 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesBeqCBFB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesBeqCBFB: + lda #$30 ; CPU:$CBFB PRG:0BFB A9 30 + sta Zp2D ; CPU:$CBFD PRG:0BFD 85 2D + jmp $CC42 ; CPU:$CBFF PRG:0BFF 4C 42 CC +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollCheckZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollCheckZp1F: + cmp #$20 ; CPU:$CC02 PRG:0C02 C9 20 + bne InitSpritesCpy02 ; CPU:$CC04 PRG:0C04 D0 15 + lda $05FD ; CPU:$CC06 PRG:0C06 AD FD 05 + bne UpdateScrollReadDispatch ; CPU:$CC09 PRG:0C09 D0 1E +; ----------------------------------------------------------------------------- +; Routine: InitSpritesExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesExit: + ldy $05FE ; CPU:$CC0B PRG:0C0B AC FE 05 + iny ; CPU:$CC0E PRG:0C0E C8 + cpy #$02 ; CPU:$CC0F PRG:0C0F C0 02 + bne InitSpritesIncY ; CPU:$CC11 PRG:0C11 D0 02 + ldy #$00 ; CPU:$CC13 PRG:0C13 A0 00 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesIncY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesIncY: + sty $05FE ; CPU:$CC15 PRG:0C15 8C FE 05 + jmp $CC24 ; CPU:$CC18 PRG:0C18 4C 24 CC +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCpy02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCpy02: + cmp #$00 ; CPU:$CC1B PRG:0C1B C9 00 + bne InitSpritesSet5FD ; CPU:$CC1D PRG:0C1D D0 05 + sta $05FD ; CPU:$CC1F PRG:0C1F 8D FD 05 + beq UpdateScrollReadZpA4 ; CPU:$CC22 PRG:0C22 F0 1A +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSet5FD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSet5FD: + lda #$01 ; CPU:$CC24 PRG:0C24 A9 01 + sta $05FD ; CPU:$CC26 PRG:0C26 8D FD 05 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollReadDispatch +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollReadDispatch: + lda ZpC0 ; CPU:$CC29 PRG:0C29 A5 C0 + beq UpdateScrollCheckDispatch ; CPU:$CC2B PRG:0C2B F0 0D + lda #$00 ; CPU:$CC2D PRG:0C2D A9 00 + sta ZpC0 ; CPU:$CC2F PRG:0C2F 85 C0 + sta ZpF0 ; CPU:$CC31 PRG:0C31 85 F0 + sta ZpF1 ; CPU:$CC33 PRG:0C33 85 F1 + sta ZpF2 ; CPU:$CC35 PRG:0C35 85 F2 + jmp $DA25 ; CPU:$CC37 PRG:0C37 4C 25 DA +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollCheckDispatch +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollCheckDispatch: + lda #$30 ; CPU:$CC3A PRG:0C3A A9 30 + sta Zp2D ; CPU:$CC3C PRG:0C3C 85 2D +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollReadZpA4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollReadZpA4: + cpx #$01 ; CPU:$CC3E PRG:0C3E E0 01 + bne UpdateScrollCheckDispatchAlt ; CPU:$CC40 PRG:0C40 D0 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollCheckDispatchAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollCheckDispatchAlt: + lda ZpC0 ; CPU:$CC42 PRG:0C42 A5 C0 + bne UpdateScrollCheckZpA4 ; CPU:$CC44 PRG:0C44 D0 16 + lda ZpA4 ; CPU:$CC46 PRG:0C46 A5 A4 + sta $0501 ; CPU:$CC48 PRG:0C48 8D 01 05 + lda ZpA5 ; CPU:$CC4B PRG:0C4B A5 A5 + sta $0502 ; CPU:$CC4D PRG:0C4D 8D 02 05 + lda #$12 ; CPU:$CC50 PRG:0C50 A9 12 + sta $0500 ; CPU:$CC52 PRG:0C52 8D 00 05 + ldx #$F4 ; CPU:$CC55 PRG:0C55 A2 F4 + ldy #$22 ; CPU:$CC57 PRG:0C57 A0 22 + jsr $D08E ; CPU:$CC59 PRG:0C59 20 8E D0 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollCheckZpA4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollCheckZpA4: + lda Zp26 ; CPU:$CC5C PRG:0C5C A5 26 + jsr $CDE0 ; CPU:$CC5E PRG:0C5E 20 E0 CD +; ---- data $CC61-$CC66 (6 bytes) ---- + .byte $C3, $CF, $F2, $CF, $0F, $D0 ; CPU:$CC61 PRG:0C61 C3 CF F2 CF 0F D0 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAM_CC67 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAM_CC67: + lda #$02 ; CPU:$CC67 PRG:0C67 A9 02 + jsr $CC6E ; CPU:$CC69 PRG:0C69 20 6E CC + lda #$01 ; CPU:$CC6C PRG:0C6C A9 01 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMSetPointer +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMSetPointer: + sta Zp01 ; CPU:$CC6E PRG:0C6E 85 01 + lda #$2F ; CPU:$CC70 PRG:0C70 A9 2F + sta Zp00 ; CPU:$CC72 PRG:0C72 85 00 + jmp $CD85 ; CPU:$CC74 PRG:0C74 4C 85 CD +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMExit: + ldy #$00 ; CPU:$CC77 PRG:0C77 A0 00 + lda #$F4 ; CPU:$CC79 PRG:0C79 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMClear200 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMClear200: + sta $0200,y ; CPU:$CC7B PRG:0C7B 99 00 02 + iny ; CPU:$CC7E PRG:0C7E C8 + iny ; CPU:$CC7F PRG:0C7F C8 + iny ; CPU:$CC80 PRG:0C80 C8 + iny ; CPU:$CC81 PRG:0C81 C8 + bne UpdateOAMClear200 ; CPU:$CC82 PRG:0C82 D0 F7 + rts ; CPU:$CC84 PRG:0C84 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAM_CC85 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAM_CC85: + ldy Zp23 ; CPU:$CC85 PRG:0C85 A4 23 + beq UpdateOAMDecrement ; CPU:$CC87 PRG:0C87 F0 25 + dey ; CPU:$CC89 PRG:0C89 88 + tya ; CPU:$CC8A PRG:0C8A 98 + asl a ; CPU:$CC8B PRG:0C8B 0A + tay ; CPU:$CC8C PRG:0C8C A8 + lda $F5B2,y ; CPU:$CC8D PRG:0C8D B9 B2 F5 + ldx $F5B3,y ; CPU:$CC90 PRG:0C90 BE B3 F5 + ldy #$00 ; CPU:$CC93 PRG:0C93 A0 00 + sty Zp23 ; CPU:$CC95 PRG:0C95 84 23 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMCheckZp23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMCheckZp23: + sta Zp00 ; CPU:$CC97 PRG:0C97 85 00 + stx Zp01 ; CPU:$CC99 PRG:0C99 86 01 + jsr $CE3A ; CPU:$CC9B PRG:0C9B 20 3A CE + lda #$3F ; CPU:$CC9E PRG:0C9E A9 3F + sta $2006 ; CPU:$CCA0 PRG:0CA0 8D 06 20 + lda #$00 ; CPU:$CCA3 PRG:0CA3 A9 00 + sta $2006 ; CPU:$CCA5 PRG:0CA5 8D 06 20 + sta $2006 ; CPU:$CCA8 PRG:0CA8 8D 06 20 + sta $2006 ; CPU:$CCAB PRG:0CAB 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMDecrement +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMDecrement: + rts ; CPU:$CCAE PRG:0CAE 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePalettes +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePalettes: + ldy Zp27 ; CPU:$CCAF PRG:0CAF A4 27 + beq UpdateOAMDecrement ; CPU:$CCB1 PRG:0CB1 F0 FB + ldy #$00 ; CPU:$CCB3 PRG:0CB3 A0 00 + sty Zp27 ; CPU:$CCB5 PRG:0CB5 84 27 + lda #$00 ; CPU:$CCB7 PRG:0CB7 A9 00 + ldx #$04 ; CPU:$CCB9 PRG:0CB9 A2 04 + bne UpdateOAMCheckZp23 ; CPU:$CCBB PRG:0CBB D0 DA + dec Zp1C ; CPU:$CCBD PRG:0CBD C6 1C + bne UpdateOAMZeroY ; CPU:$CCBF PRG:0CBF D0 0E + ldx #$05 ; CPU:$CCC1 PRG:0CC1 A2 05 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMCheckZp27 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMCheckZp27: + lda $0430,x ; CPU:$CCC3 PRG:0CC3 BD 30 04 + sta Zp2A,x ; CPU:$CCC6 PRG:0CC6 95 2A + dex ; CPU:$CCC8 PRG:0CC8 CA + bpl UpdateOAMCheckZp27 ; CPU:$CCC9 PRG:0CC9 10 F8 + lda Zp1D ; CPU:$CCCB PRG:0CCB A5 1D + sta Zp25 ; CPU:$CCCD PRG:0CCD 85 25 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMZeroY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMZeroY: + rts ; CPU:$CCCF PRG:0CCF 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayers +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayers: + lda #$01 ; CPU:$CCD0 PRG:0CD0 A9 01 + sta $4016 ; CPU:$CCD2 PRG:0CD2 8D 16 40 + lda #$00 ; CPU:$CCD5 PRG:0CD5 A9 00 + sta $4016 ; CPU:$CCD7 PRG:0CD7 8D 16 40 + ldy #$40 ; CPU:$CCDA PRG:0CDA A0 40 + ldx $032A ; CPU:$CCDC PRG:0CDC AE 2A 03 + beq UpdatePalettesCheckZp27 ; CPU:$CCDF PRG:0CDF F0 02 + ldy #$42 ; CPU:$CCE1 PRG:0CE1 A0 42 +; ----------------------------------------------------------------------------- +; Routine: UpdatePalettesCheckZp27 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePalettesCheckZp27: + sty Zp01 ; CPU:$CCE3 PRG:0CE3 84 01 + ldx #$00 ; CPU:$CCE5 PRG:0CE5 A2 00 + jsr $CCFB ; CPU:$CCE7 PRG:0CE7 20 FB CC + ldy #$40 ; CPU:$CCEA PRG:0CEA A0 40 + ldx $030A ; CPU:$CCEC PRG:0CEC AE 0A 03 + beq UpdatePalettesZeroY ; CPU:$CCEF PRG:0CEF F0 02 + ldy #$41 ; CPU:$CCF1 PRG:0CF1 A0 41 +; ----------------------------------------------------------------------------- +; Routine: UpdatePalettesZeroY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePalettesZeroY: + sty Zp01 ; CPU:$CCF3 PRG:0CF3 84 01 + ldx #$01 ; CPU:$CCF5 PRG:0CF5 A2 01 + jsr $CCFB ; CPU:$CCF7 PRG:0CF7 20 FB CC + rts ; CPU:$CCFA PRG:0CFA 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputLoop: + ldy #$08 ; CPU:$CCFB PRG:0CFB A0 08 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputStore +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputStore: + pha ; CPU:$CCFD PRG:0CFD 48 + lda Zp16,x ; CPU:$CCFE PRG:0CFE B5 16 + and Zp01 ; CPU:$CD00 PRG:0D00 25 01 + sta Zp02 ; CPU:$CD02 PRG:0D02 85 02 + lda $4016,x ; CPU:$CD04 PRG:0D04 BD 16 40 + sta Zp00 ; CPU:$CD07 PRG:0D07 85 00 + lsr a ; CPU:$CD09 PRG:0D09 4A + ora Zp00 ; CPU:$CD0A PRG:0D0A 05 00 + lsr a ; CPU:$CD0C PRG:0D0C 4A + pla ; CPU:$CD0D PRG:0D0D 68 + rol a ; CPU:$CD0E PRG:0D0E 2A + dey ; CPU:$CD0F PRG:0D0F 88 + bne ProcessControllerInputStore ; CPU:$CD10 PRG:0D10 D0 EB + ldy Zp16,x ; CPU:$CD12 PRG:0D12 B4 16 + sty Zp00 ; CPU:$CD14 PRG:0D14 84 00 + sta Zp16,x ; CPU:$CD16 PRG:0D16 95 16 + and #$FF ; CPU:$CD18 PRG:0D18 29 FF + bpl RoundLogicCheckZp21 ; CPU:$CD1A PRG:0D1A 10 06 + bit Zp00 ; CPU:$CD1C PRG:0D1C 24 00 + bpl RoundLogicCheckZp21 ; CPU:$CD1E PRG:0D1E 10 02 + and #$7F ; CPU:$CD20 PRG:0D20 29 7F +; ----------------------------------------------------------------------------- +; Routine: RoundLogicCheckZp21 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicCheckZp21: + ldy Zp18,x ; CPU:$CD22 PRG:0D22 B4 18 + sta Zp18,x ; CPU:$CD24 PRG:0D24 95 18 + tya ; CPU:$CD26 PRG:0D26 98 + and #$0F ; CPU:$CD27 PRG:0D27 29 0F + and Zp18,x ; CPU:$CD29 PRG:0D29 35 18 + beq RoundLogicBeqCD84 ; CPU:$CD2B PRG:0D2B F0 06 + ora #$F0 ; CPU:$CD2D PRG:0D2D 09 F0 + and Zp18,x ; CPU:$CD2F PRG:0D2F 35 18 + sta Zp18,x ; CPU:$CD31 PRG:0D31 95 18 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicBeqCD84 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicBeqCD84: + lda Zp02 ; CPU:$CD33 PRG:0D33 A5 02 + bne RoundLogicSet21 ; CPU:$CD35 PRG:0D35 D0 01 + rts ; CPU:$CD37 PRG:0D37 60 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicSet21 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicSet21: + lda #$FF ; CPU:$CD38 PRG:0D38 A9 FF + eor Zp01 ; CPU:$CD3A PRG:0D3A 45 01 + and Zp18,x ; CPU:$CD3C PRG:0D3C 35 18 + sta Zp18,x ; CPU:$CD3E PRG:0D3E 95 18 + rts ; CPU:$CD40 PRG:0D40 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputEntry: + lda Zp21 ; CPU:$CD41 PRG:0D41 A5 21 + beq ProcessControllerInputRead2002Alt ; CPU:$CD43 PRG:0D43 F0 3F + lda #$21 ; CPU:$CD45 PRG:0D45 A9 21 + sta Zp00 ; CPU:$CD47 PRG:0D47 85 00 + lda #$05 ; CPU:$CD49 PRG:0D49 A9 05 + sta Zp01 ; CPU:$CD4B PRG:0D4B 85 01 + lda Zp08 ; CPU:$CD4D PRG:0D4D A5 08 + and #$FB ; CPU:$CD4F PRG:0D4F 29 FB + sta $2000 ; CPU:$CD51 PRG:0D51 8D 00 20 + sta Zp08 ; CPU:$CD54 PRG:0D54 85 08 + ldx $2002 ; CPU:$CD56 PRG:0D56 AE 02 20 + ldy #$00 ; CPU:$CD59 PRG:0D59 A0 00 + beq ProcessControllerInputStaZp08 ; CPU:$CD5B PRG:0D5B F0 19 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputRead2002 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputRead2002: + sta $2006 ; CPU:$CD5D PRG:0D5D 8D 06 20 + iny ; CPU:$CD60 PRG:0D60 C8 + lda (Zp00),y ; CPU:$CD61 PRG:0D61 B1 00 + sta $2006 ; CPU:$CD63 PRG:0D63 8D 06 20 + iny ; CPU:$CD66 PRG:0D66 C8 + lda (Zp00),y ; CPU:$CD67 PRG:0D67 B1 00 + and #$3F ; CPU:$CD69 PRG:0D69 29 3F + tax ; CPU:$CD6B PRG:0D6B AA +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputAndFB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputAndFB: + iny ; CPU:$CD6C PRG:0D6C C8 + lda (Zp00),y ; CPU:$CD6D PRG:0D6D B1 00 + sta $2007 ; CPU:$CD6F PRG:0D6F 8D 07 20 + dex ; CPU:$CD72 PRG:0D72 CA + bne ProcessControllerInputAndFB ; CPU:$CD73 PRG:0D73 D0 F7 + iny ; CPU:$CD75 PRG:0D75 C8 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputStaZp08 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputStaZp08: + lda (Zp00),y ; CPU:$CD76 PRG:0D76 B1 00 + bne ProcessControllerInputRead2002 ; CPU:$CD78 PRG:0D78 D0 E3 + lda #$00 ; CPU:$CD7A PRG:0D7A A9 00 + sta $0520 ; CPU:$CD7C PRG:0D7C 8D 20 05 + sta $0521 ; CPU:$CD7F PRG:0D7F 8D 21 05 + sta Zp21 ; CPU:$CD82 PRG:0D82 85 21 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputRead2002Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputRead2002Alt: + rts ; CPU:$CD84 PRG:0D84 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputRead2002Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputRead2002Alt2: + lda $2002 ; CPU:$CD85 PRG:0D85 AD 02 20 + lda Zp08 ; CPU:$CD88 PRG:0D88 A5 08 + and #$FB ; CPU:$CD8A PRG:0D8A 29 FB + sta $2000 ; CPU:$CD8C PRG:0D8C 8D 00 20 + sta Zp08 ; CPU:$CD8F PRG:0D8F 85 08 + lda #$1C ; CPU:$CD91 PRG:0D91 A9 1C + clc ; CPU:$CD93 PRG:0D93 18 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputAnd04 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputAnd04: + adc #$04 ; CPU:$CD94 PRG:0D94 69 04 + dec Zp01 ; CPU:$CD96 PRG:0D96 C6 01 + bne ProcessControllerInputAnd04 ; CPU:$CD98 PRG:0D98 D0 FA + sta Zp02 ; CPU:$CD9A PRG:0D9A 85 02 + sta $2006 ; CPU:$CD9C PRG:0D9C 8D 06 20 + lda #$00 ; CPU:$CD9F PRG:0D9F A9 00 + sta $2006 ; CPU:$CDA1 PRG:0DA1 8D 06 20 + ldx #$04 ; CPU:$CDA4 PRG:0DA4 A2 04 + ldy #$00 ; CPU:$CDA6 PRG:0DA6 A0 00 + lda Zp00 ; CPU:$CDA8 PRG:0DA8 A5 00 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputOra18 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputOra18: + sta $2007 ; CPU:$CDAA PRG:0DAA 8D 07 20 + dey ; CPU:$CDAD PRG:0DAD 88 + bne ProcessControllerInputOra18 ; CPU:$CDAE PRG:0DAE D0 FA + dex ; CPU:$CDB0 PRG:0DB0 CA + bne ProcessControllerInputOra18 ; CPU:$CDB1 PRG:0DB1 D0 F7 + lda Zp02 ; CPU:$CDB3 PRG:0DB3 A5 02 + adc #$03 ; CPU:$CDB5 PRG:0DB5 69 03 + sta $2006 ; CPU:$CDB7 PRG:0DB7 8D 06 20 + lda #$C0 ; CPU:$CDBA PRG:0DBA A9 C0 + sta $2006 ; CPU:$CDBC PRG:0DBC 8D 06 20 + ldy #$40 ; CPU:$CDBF PRG:0DBF A0 40 + lda #$00 ; CPU:$CDC1 PRG:0DC1 A9 00 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputStaZp09 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputStaZp09: + sta $2007 ; CPU:$CDC3 PRG:0DC3 8D 07 20 + dey ; CPU:$CDC6 PRG:0DC6 88 + bne ProcessControllerInputStaZp09 ; CPU:$CDC7 PRG:0DC7 D0 FA + rts ; CPU:$CDC9 PRG:0DC9 60 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicEntry: + ldx #$01 ; CPU:$CDCA PRG:0DCA A2 01 + dec Zp2A ; CPU:$CDCC PRG:0DCC C6 2A + bpl RoundLogicDecZp2A ; CPU:$CDCE PRG:0DCE 10 06 + lda #$0A ; CPU:$CDD0 PRG:0DD0 A9 0A + sta Zp2A ; CPU:$CDD2 PRG:0DD2 85 2A + ldx #$03 ; CPU:$CDD4 PRG:0DD4 A2 03 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicDecZp2A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicDecZp2A: + lda Zp2B,x ; CPU:$CDD6 PRG:0DD6 B5 2B + beq RoundLogicBplCDD6 ; CPU:$CDD8 PRG:0DD8 F0 02 + dec Zp2B,x ; CPU:$CDDA PRG:0DDA D6 2B +; ----------------------------------------------------------------------------- +; Routine: RoundLogicBplCDD6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicBplCDD6: + dex ; CPU:$CDDC PRG:0DDC CA + bpl RoundLogicDecZp2A ; CPU:$CDDD PRG:0DDD 10 F7 + rts ; CPU:$CDDF PRG:0DDF 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInput +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInput: + stx Zp28 ; CPU:$CDE0 PRG:0DE0 86 28 + sty Zp29 ; CPU:$CDE2 PRG:0DE2 84 29 + asl a ; CPU:$CDE4 PRG:0DE4 0A + tay ; CPU:$CDE5 PRG:0DE5 A8 + iny ; CPU:$CDE6 PRG:0DE6 C8 + pla ; CPU:$CDE7 PRG:0DE7 68 + sta Zp14 ; CPU:$CDE8 PRG:0DE8 85 14 + pla ; CPU:$CDEA PRG:0DEA 68 + sta Zp15 ; CPU:$CDEB PRG:0DEB 85 15 + lda (Zp14),y ; CPU:$CDED PRG:0DED B1 14 + tax ; CPU:$CDEF PRG:0DEF AA + iny ; CPU:$CDF0 PRG:0DF0 C8 + lda (Zp14),y ; CPU:$CDF1 PRG:0DF1 B1 14 + sta Zp15 ; CPU:$CDF3 PRG:0DF3 85 15 + stx Zp14 ; CPU:$CDF5 PRG:0DF5 86 14 + ldx Zp28 ; CPU:$CDF7 PRG:0DF7 A6 28 + ldy Zp29 ; CPU:$CDF9 PRG:0DF9 A4 29 + jmp ($0014) ; CPU:$CDFB PRG:0DFB 6C 14 00 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicSaveXY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicSaveXY: + sta $2006 ; CPU:$CDFE PRG:0DFE 8D 06 20 + iny ; CPU:$CE01 PRG:0E01 C8 + lda (Zp00),y ; CPU:$CE02 PRG:0E02 B1 00 + sta $2006 ; CPU:$CE04 PRG:0E04 8D 06 20 + iny ; CPU:$CE07 PRG:0E07 C8 + lda (Zp00),y ; CPU:$CE08 PRG:0E08 B1 00 + asl a ; CPU:$CE0A PRG:0E0A 0A + pha ; CPU:$CE0B PRG:0E0B 48 + lda Zp08 ; CPU:$CE0C PRG:0E0C A5 08 + ora #$04 ; CPU:$CE0E PRG:0E0E 09 04 + bcs ScrollBackgroundEntry ; CPU:$CE10 PRG:0E10 B0 02 + and #$FB ; CPU:$CE12 PRG:0E12 29 FB +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundEntry: + sta $2000 ; CPU:$CE14 PRG:0E14 8D 00 20 + sta Zp08 ; CPU:$CE17 PRG:0E17 85 08 + pla ; CPU:$CE19 PRG:0E19 68 + asl a ; CPU:$CE1A PRG:0E1A 0A + bcc ScrollBackgroundIncX ; CPU:$CE1B PRG:0E1B 90 03 + ora #$02 ; CPU:$CE1D PRG:0E1D 09 02 + iny ; CPU:$CE1F PRG:0E1F C8 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundIncX +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundIncX: + lsr a ; CPU:$CE20 PRG:0E20 4A + lsr a ; CPU:$CE21 PRG:0E21 4A + tax ; CPU:$CE22 PRG:0E22 AA +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundTXA_CE23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundTXA_CE23: + bcs ScrollBackgroundCmp6F_CE26 ; CPU:$CE23 PRG:0E23 B0 01 + iny ; CPU:$CE25 PRG:0E25 C8 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCmp6F_CE26 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCmp6F_CE26: + lda (Zp00),y ; CPU:$CE26 PRG:0E26 B1 00 + sta $2007 ; CPU:$CE28 PRG:0E28 8D 07 20 + dex ; CPU:$CE2B PRG:0E2B CA + bne ScrollBackgroundTXA_CE23 ; CPU:$CE2C PRG:0E2C D0 F5 + sec ; CPU:$CE2E PRG:0E2E 38 + tya ; CPU:$CE2F PRG:0E2F 98 + adc Zp00 ; CPU:$CE30 PRG:0E30 65 00 + sta Zp00 ; CPU:$CE32 PRG:0E32 85 00 + lda #$00 ; CPU:$CE34 PRG:0E34 A9 00 + adc Zp01 ; CPU:$CE36 PRG:0E36 65 01 + sta Zp01 ; CPU:$CE38 PRG:0E38 85 01 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundRead2002 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundRead2002: + ldx $2002 ; CPU:$CE3A PRG:0E3A AE 02 20 + ldy #$00 ; CPU:$CE3D PRG:0E3D A0 00 + lda (Zp00),y ; CPU:$CE3F PRG:0E3F B1 00 + bne RoundLogicSaveXY ; CPU:$CE41 PRG:0E41 D0 BB +; ----------------------------------------------------------------------------- +; Routine: ScrollBackground +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackground: + pha ; CPU:$CE43 PRG:0E43 48 + lda Zp0A ; CPU:$CE44 PRG:0E44 A5 0A + sta $2005 ; CPU:$CE46 PRG:0E46 8D 05 20 + lda Zp0B ; CPU:$CE49 PRG:0E49 A5 0B + sta $2005 ; CPU:$CE4B PRG:0E4B 8D 05 20 + lda Zp08 ; CPU:$CE4E PRG:0E4E A5 08 + sta $2000 ; CPU:$CE50 PRG:0E50 8D 00 20 + pla ; CPU:$CE53 PRG:0E53 68 + rts ; CPU:$CE54 PRG:0E54 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundSetZp21 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundSetZp21: + lda #$01 ; CPU:$CE55 PRG:0E55 A9 01 + sta Zp21 ; CPU:$CE57 PRG:0E57 85 21 + ldy #$00 ; CPU:$CE59 PRG:0E59 A0 00 + lda (Zp02),y ; CPU:$CE5B PRG:0E5B B1 02 + and #$0F ; CPU:$CE5D PRG:0E5D 29 0F + sta Zp05 ; CPU:$CE5F PRG:0E5F 85 05 + lda (Zp02),y ; CPU:$CE61 PRG:0E61 B1 02 + lsr a ; CPU:$CE63 PRG:0E63 4A + lsr a ; CPU:$CE64 PRG:0E64 4A + lsr a ; CPU:$CE65 PRG:0E65 4A + lsr a ; CPU:$CE66 PRG:0E66 4A + sta Zp04 ; CPU:$CE67 PRG:0E67 85 04 + ldx $0520 ; CPU:$CE69 PRG:0E69 AE 20 05 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundLoop: + lda Zp01 ; CPU:$CE6C PRG:0E6C A5 01 + sta $0521,x ; CPU:$CE6E PRG:0E6E 9D 21 05 + jsr $CEAD ; CPU:$CE71 PRG:0E71 20 AD CE + lda Zp00 ; CPU:$CE74 PRG:0E74 A5 00 + sta $0521,x ; CPU:$CE76 PRG:0E76 9D 21 05 + jsr $CEAD ; CPU:$CE79 PRG:0E79 20 AD CE + lda Zp05 ; CPU:$CE7C PRG:0E7C A5 05 + sta Zp06 ; CPU:$CE7E PRG:0E7E 85 06 + sta $0521,x ; CPU:$CE80 PRG:0E80 9D 21 05 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundInx +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundInx: + jsr $CEAD ; CPU:$CE83 PRG:0E83 20 AD CE + iny ; CPU:$CE86 PRG:0E86 C8 + lda (Zp02),y ; CPU:$CE87 PRG:0E87 B1 02 + sta $0521,x ; CPU:$CE89 PRG:0E89 9D 21 05 + dec Zp06 ; CPU:$CE8C PRG:0E8C C6 06 + bne ScrollBackgroundInx ; CPU:$CE8E PRG:0E8E D0 F3 + jsr $CEAD ; CPU:$CE90 PRG:0E90 20 AD CE + stx $0520 ; CPU:$CE93 PRG:0E93 8E 20 05 + clc ; CPU:$CE96 PRG:0E96 18 + lda #$20 ; CPU:$CE97 PRG:0E97 A9 20 + adc Zp00 ; CPU:$CE99 PRG:0E99 65 00 + sta Zp00 ; CPU:$CE9B PRG:0E9B 85 00 + lda #$00 ; CPU:$CE9D PRG:0E9D A9 00 + adc Zp01 ; CPU:$CE9F PRG:0E9F 65 01 + sta Zp01 ; CPU:$CEA1 PRG:0EA1 85 01 + dec Zp04 ; CPU:$CEA3 PRG:0EA3 C6 04 + bne ScrollBackgroundLoop ; CPU:$CEA5 PRG:0EA5 D0 C5 + lda #$00 ; CPU:$CEA7 PRG:0EA7 A9 00 + sta $0521,x ; CPU:$CEA9 PRG:0EA9 9D 21 05 + rts ; CPU:$CEAC PRG:0EAC 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundTXA_CEAD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundTXA_CEAD: + inx ; CPU:$CEAD PRG:0EAD E8 + txa ; CPU:$CEAE PRG:0EAE 8A + cmp #$6F ; CPU:$CEAF PRG:0EAF C9 6F + bcc ScrollBackgroundCmp6F_CEBD ; CPU:$CEB1 PRG:0EB1 90 0A + ldx $0520 ; CPU:$CEB3 PRG:0EB3 AE 20 05 + lda #$00 ; CPU:$CEB6 PRG:0EB6 A9 00 + sta $0521,x ; CPU:$CEB8 PRG:0EB8 9D 21 05 + pla ; CPU:$CEBB PRG:0EBB 68 + pla ; CPU:$CEBC PRG:0EBC 68 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCmp6F_CEBD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCmp6F_CEBD: + rts ; CPU:$CEBD PRG:0EBD 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundAdc01 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundAdc01: + clc ; CPU:$CEBE PRG:0EBE 18 + adc #$01 ; CPU:$CEBF PRG:0EBF 69 01 + and #$0F ; CPU:$CEC1 PRG:0EC1 29 0F + asl a ; CPU:$CEC3 PRG:0EC3 0A + asl a ; CPU:$CEC4 PRG:0EC4 0A +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundAnd0F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundAnd0F: + tax ; CPU:$CEC5 PRG:0EC5 AA + lda Zp04 ; CPU:$CEC6 PRG:0EC6 A5 04 + beq ScrollBackgroundAdcZp01_CEF1 ; CPU:$CEC8 PRG:0EC8 F0 27 + lda ZpC3,x ; CPU:$CECA PRG:0ECA B5 C3 + beq ScrollBackgroundCmp0A_CEF5 ; CPU:$CECC PRG:0ECC F0 27 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundStaZp01 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundStaZp01: + clc ; CPU:$CECE PRG:0ECE 18 + lda ZpC6,x ; CPU:$CECF PRG:0ECF B5 C6 + sta Zp03 ; CPU:$CED1 PRG:0ED1 85 03 + lda Zp07 ; CPU:$CED3 PRG:0ED3 A5 07 + jsr $CF4F ; CPU:$CED5 PRG:0ED5 20 4F CF + sta ZpC6,x ; CPU:$CED8 PRG:0ED8 95 C6 + lda ZpC5,x ; CPU:$CEDA PRG:0EDA B5 C5 + sta Zp03 ; CPU:$CEDC PRG:0EDC 85 03 + lda Zp06 ; CPU:$CEDE PRG:0EDE A5 06 + jsr $CF4F ; CPU:$CEE0 PRG:0EE0 20 4F CF + sta ZpC5,x ; CPU:$CEE3 PRG:0EE3 95 C5 + lda ZpC4,x ; CPU:$CEE5 PRG:0EE5 B5 C4 + sta Zp03 ; CPU:$CEE7 PRG:0EE7 85 03 + lda Zp05 ; CPU:$CEE9 PRG:0EE9 A5 05 + jsr $CF4F ; CPU:$CEEB PRG:0EEB 20 4F CF + sta ZpC4,x ; CPU:$CEEE PRG:0EEE 95 C4 + rts ; CPU:$CEF0 PRG:0EF0 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundAdcZp01_CEF1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundAdcZp01_CEF1: + lda ZpC3,x ; CPU:$CEF1 PRG:0EF1 B5 C3 + beq ScrollBackgroundStaZp01 ; CPU:$CEF3 PRG:0EF3 F0 D9 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCmp0A_CEF5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCmp0A_CEF5: + sec ; CPU:$CEF5 PRG:0EF5 38 + lda ZpC6,x ; CPU:$CEF6 PRG:0EF6 B5 C6 + sta Zp03 ; CPU:$CEF8 PRG:0EF8 85 03 + lda Zp07 ; CPU:$CEFA PRG:0EFA A5 07 + jsr $CF70 ; CPU:$CEFC PRG:0EFC 20 70 CF + sta ZpC6,x ; CPU:$CEFF PRG:0EFF 95 C6 + lda ZpC5,x ; CPU:$CF01 PRG:0F01 B5 C5 + sta Zp03 ; CPU:$CF03 PRG:0F03 85 03 + lda Zp06 ; CPU:$CF05 PRG:0F05 A5 06 + jsr $CF70 ; CPU:$CF07 PRG:0F07 20 70 CF + sta ZpC5,x ; CPU:$CF0A PRG:0F0A 95 C5 + lda ZpC4,x ; CPU:$CF0C PRG:0F0C B5 C4 + sta Zp03 ; CPU:$CF0E PRG:0F0E 85 03 + lda Zp05 ; CPU:$CF10 PRG:0F10 A5 05 + jsr $CF70 ; CPU:$CF12 PRG:0F12 20 70 CF + sta ZpC4,x ; CPU:$CF15 PRG:0F15 95 C4 + lda ZpC4,x ; CPU:$CF17 PRG:0F17 B5 C4 + bne ScrollBackgroundSbcZp01_CF23 ; CPU:$CF19 PRG:0F19 D0 08 + lda ZpC5,x ; CPU:$CF1B PRG:0F1B B5 C5 + bne ScrollBackgroundSbcZp01_CF23 ; CPU:$CF1D PRG:0F1D D0 04 + lda ZpC6,x ; CPU:$CF1F PRG:0F1F B5 C6 + beq ScrollBackgroundStaZp01Alt ; CPU:$CF21 PRG:0F21 F0 02 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundSbcZp01_CF23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundSbcZp01_CF23: + bcs ScrollBackgroundCallCF92 ; CPU:$CF23 PRG:0F23 B0 29 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundStaZp01Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundStaZp01Alt: + lda #$00 ; CPU:$CF25 PRG:0F25 A9 00 + sta ZpC3,x ; CPU:$CF27 PRG:0F27 95 C3 + sta ZpC4,x ; CPU:$CF29 PRG:0F29 95 C4 + sta ZpC5,x ; CPU:$CF2B PRG:0F2B 95 C5 + sta ZpC6,x ; CPU:$CF2D PRG:0F2D 95 C6 + inc Zp3D ; CPU:$CF2F PRG:0F2F E6 3D + rts ; CPU:$CF31 PRG:0F31 60 +; ---- data $CF32-$CF4D (28 bytes) ---- + .byte $95, $C3, $38, $A9, $00, $85, $03, $B5, $C6, $20, $70, $CF, $95, $C6, $B5, $C5 ; CPU:$CF32 PRG:0F32 95 C3 38 A9 00 85 03 B5 C6 20 70 CF 95 C6 B5 C5 + .byte $20, $70, $CF, $95, $C5, $B5, $C4, $20, $70, $CF, $95, $C4 ; CPU:$CF42 PRG:0F42 20 70 CF 95 C5 B5 C4 20 70 CF 95 C4 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCallCF92 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCallCF92: + rts ; CPU:$CF4E PRG:0F4E 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCallCF92Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCallCF92Entry: + jsr $CF92 ; CPU:$CF4F PRG:0F4F 20 92 CF + adc Zp01 ; CPU:$CF52 PRG:0F52 65 01 + cmp #$0A ; CPU:$CF54 PRG:0F54 C9 0A + bcc ScrollBackgroundAdcZp01_CF5A ; CPU:$CF56 PRG:0F56 90 02 + adc #$05 ; CPU:$CF58 PRG:0F58 69 05 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundAdcZp01_CF5A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundAdcZp01_CF5A: + clc ; CPU:$CF5A PRG:0F5A 18 + adc Zp02 ; CPU:$CF5B PRG:0F5B 65 02 + sta Zp02 ; CPU:$CF5D PRG:0F5D 85 02 + lda Zp03 ; CPU:$CF5F PRG:0F5F A5 03 + and #$F0 ; CPU:$CF61 PRG:0F61 29 F0 + adc Zp02 ; CPU:$CF63 PRG:0F63 65 02 + bcc ScrollBackgroundSbcZp01_CF6B ; CPU:$CF65 PRG:0F65 90 04 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCmp0A_CF67 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCmp0A_CF67: + adc #$5F ; CPU:$CF67 PRG:0F67 69 5F + sec ; CPU:$CF69 PRG:0F69 38 + rts ; CPU:$CF6A PRG:0F6A 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundSbcZp01_CF6B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundSbcZp01_CF6B: + cmp #$A0 ; CPU:$CF6B PRG:0F6B C9 A0 + bcs ScrollBackgroundCmp0A_CF67 ; CPU:$CF6D PRG:0F6D B0 F8 + rts ; CPU:$CF6F PRG:0F6F 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCallCF92Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCallCF92Alt: + jsr $CF92 ; CPU:$CF70 PRG:0F70 20 92 CF + sbc Zp01 ; CPU:$CF73 PRG:0F73 E5 01 + sta Zp01 ; CPU:$CF75 PRG:0F75 85 01 + bcs ScrollBackgroundCallCF92Alt2 ; CPU:$CF77 PRG:0F77 B0 0A + adc #$0A ; CPU:$CF79 PRG:0F79 69 0A + sta Zp01 ; CPU:$CF7B PRG:0F7B 85 01 + lda Zp02 ; CPU:$CF7D PRG:0F7D A5 02 + adc #$0F ; CPU:$CF7F PRG:0F7F 69 0F + sta Zp02 ; CPU:$CF81 PRG:0F81 85 02 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCallCF92Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCallCF92Alt2: + lda Zp03 ; CPU:$CF83 PRG:0F83 A5 03 + and #$F0 ; CPU:$CF85 PRG:0F85 29 F0 + sec ; CPU:$CF87 PRG:0F87 38 + sbc Zp02 ; CPU:$CF88 PRG:0F88 E5 02 + bcs ScrollBackgroundStaZp01Alt2 ; CPU:$CF8A PRG:0F8A B0 03 + adc #$A0 ; CPU:$CF8C PRG:0F8C 69 A0 + clc ; CPU:$CF8E PRG:0F8E 18 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundStaZp01Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundStaZp01Alt2: + ora Zp01 ; CPU:$CF8F PRG:0F8F 05 01 + rts ; CPU:$CF91 PRG:0F91 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSpritePositions +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSpritePositions: + pha ; CPU:$CF92 PRG:0F92 48 + and #$0F ; CPU:$CF93 PRG:0F93 29 0F + sta Zp01 ; CPU:$CF95 PRG:0F95 85 01 + pla ; CPU:$CF97 PRG:0F97 68 + and #$F0 ; CPU:$CF98 PRG:0F98 29 F0 + sta Zp02 ; CPU:$CF9A PRG:0F9A 85 02 + lda Zp03 ; CPU:$CF9C PRG:0F9C A5 03 + and #$0F ; CPU:$CF9E PRG:0F9E 29 0F + rts ; CPU:$CFA0 PRG:0FA0 60 +; ----------------------------------------------------------------------------- +; Routine: CheckRoundEnd +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckRoundEnd: + lda $05EC ; CPU:$CFA1 PRG:0FA1 AD EC 05 + and #$02 ; CPU:$CFA4 PRG:0FA4 29 02 + sta Zp07 ; CPU:$CFA6 PRG:0FA6 85 07 + lda $05ED ; CPU:$CFA8 PRG:0FA8 AD ED 05 + and #$02 ; CPU:$CFAB PRG:0FAB 29 02 + eor Zp07 ; CPU:$CFAD PRG:0FAD 45 07 + clc ; CPU:$CFAF PRG:0FAF 18 + beq CheckRoundEndEntry ; CPU:$CFB0 PRG:0FB0 F0 01 + sec ; CPU:$CFB2 PRG:0FB2 38 +; ----------------------------------------------------------------------------- +; Routine: CheckRoundEndEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckRoundEndEntry: + ror $05EC ; CPU:$CFB3 PRG:0FB3 6E EC 05 + ror $05ED ; CPU:$CFB6 PRG:0FB6 6E ED 05 + ror $05EE ; CPU:$CFB9 PRG:0FB9 6E EE 05 + ror $05EF ; CPU:$CFBC PRG:0FBC 6E EF 05 + lda $05EC ; CPU:$CFBF PRG:0FBF AD EC 05 + rts ; CPU:$CFC2 PRG:0FC2 60 +; ---- data $CFC3-$D011 (79 bytes) ---- + .byte $20, $1A, $D0, $20, $6C, $CC, $20, $12, $D0, $A9, $02, $85, $01, $A9, $50, $85 ; CPU:$CFC3 PRG:0FC3 20 1A D0 20 6C CC 20 12 D0 A9 02 85 01 A9 50 85 + .byte $00, $20, $85, $CD, $20, $77, $CC, $20, $12, $D0, $A2, $AF, $A0, $F3, $20, $50 ; CPU:$CFD3 PRG:0FD3 00 20 85 CD 20 77 CC 20 12 D0 A2 AF A0 F3 20 50 + .byte $D0, $A9, $01, $85, $23, $A9, $01, $8D, $FD, $05, $E6, $26, $4C, $27, $D0, $A5 ; CPU:$CFE3 PRG:0FE3 D0 A9 01 85 23 A9 01 8D FD 05 E6 26 4C 27 D0 A5 + .byte $2D, $D0, $18, $A9, $01, $85, $C0, $A9, $00, $85, $1F, $85, $25, $20, $93, $E7 ; CPU:$CFF3 PRG:0FF3 2D D0 18 A9 01 85 C0 A9 00 85 1F 85 25 20 93 E7 + .byte $20, $1A, $D0, $A9, $02, $85, $2A, $85, $2D, $E6, $26, $60, $4C, $66, $CB ; CPU:$D003 PRG:1003 20 1A D0 A9 02 85 2A 85 2D E6 26 60 4C 66 CB +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerCallD057 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerCallD057: + jsr $D057 ; CPU:$D012 PRG:1012 20 57 D0 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerBeq +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerBeq: + lda Zp20 ; CPU:$D015 PRG:1015 A5 20 + beq UpdateRoundTimerBeq ; CPU:$D017 PRG:1017 F0 FC + rts ; CPU:$D019 PRG:1019 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerInit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerInit: + jsr $D012 ; CPU:$D01A PRG:101A 20 12 D0 + lda Zp09 ; CPU:$D01D PRG:101D A5 09 + and #$E7 ; CPU:$D01F PRG:101F 29 E7 + sta Zp09 ; CPU:$D021 PRG:1021 85 09 + sta $2001 ; CPU:$D023 PRG:1023 8D 01 20 + rts ; CPU:$D026 PRG:1026 60 +; ---- data $D027-$D02F (9 bytes) ---- + .byte $20, $12, $D0, $A5, $09, $09, $18, $D0, $F1 ; CPU:$D027 PRG:1027 20 12 D0 A5 09 09 18 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: DrawBackgroundEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawBackgroundEntry: + sty ZpA2 ; CPU:$D030 PRG:1030 84 A2 + ldx #$00 ; CPU:$D032 PRG:1032 A2 00 +; ----------------------------------------------------------------------------- +; Routine: DrawBackgroundSetZpA2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawBackgroundSetZpA2: + lda $0300,y ; CPU:$D034 PRG:1034 B9 00 03 + sta Zp30,x ; CPU:$D037 PRG:1037 95 30 + iny ; CPU:$D039 PRG:1039 C8 + inx ; CPU:$D03A PRG:103A E8 + cpx #$20 ; CPU:$D03B PRG:103B E0 20 + bne DrawBackgroundSetZpA2 ; CPU:$D03D PRG:103D D0 F5 + rts ; CPU:$D03F PRG:103F 60 +; ----------------------------------------------------------------------------- +; Routine: DrawBackgroundSetZpA2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawBackgroundSetZpA2Alt: + ldy ZpA2 ; CPU:$D040 PRG:1040 A4 A2 + ldx #$00 ; CPU:$D042 PRG:1042 A2 00 +; ----------------------------------------------------------------------------- +; Routine: DrawBackgroundLdx0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawBackgroundLdx0: + lda Zp30,x ; CPU:$D044 PRG:1044 B5 30 + sta $0300,y ; CPU:$D046 PRG:1046 99 00 03 + iny ; CPU:$D049 PRG:1049 C8 + inx ; CPU:$D04A PRG:104A E8 + cpx #$20 ; CPU:$D04B PRG:104B E0 20 + bne DrawBackgroundLdx0 ; CPU:$D04D PRG:104D D0 F5 + rts ; CPU:$D04F PRG:104F 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerInitSetPtr +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerInitSetPtr: + stx Zp00 ; CPU:$D050 PRG:1050 86 00 + sty Zp01 ; CPU:$D052 PRG:1052 84 01 + jmp $CE3A ; CPU:$D054 PRG:1054 4C 3A CE +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimer +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimer: + lda #$00 ; CPU:$D057 PRG:1057 A9 00 + sta Zp20 ; CPU:$D059 PRG:1059 85 20 + sta Zp22 ; CPU:$D05B PRG:105B 85 22 + rts ; CPU:$D05D PRG:105D 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerInitSetZp09 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerInitSetZp09: + lda Zp2D ; CPU:$D05E PRG:105E A5 2D + bne UpdateRoundTimerInitCallCE3A ; CPU:$D060 PRG:1060 D0 04 + lda Zp1E ; CPU:$D062 PRG:1062 A5 1E + sta Zp25 ; CPU:$D064 PRG:1064 85 25 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerInitCallCE3A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerInitCallCE3A: + rts ; CPU:$D066 PRG:1066 60 +; ---- data $D067-$D079 (19 bytes) ---- + .byte $86, $1E, $85, $2D, $A9, $12, $85, $25, $60, $A0, $00, $98, $99, $00, $03, $C8 ; CPU:$D067 PRG:1067 86 1E 85 2D A9 12 85 25 60 A0 00 98 99 00 03 C8 + .byte $D0, $FA, $60 ; CPU:$D077 PRG:1077 D0 FA 60 +; ----------------------------------------------------------------------------- +; Routine: SetupInitialStateEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetupInitialStateEntry: + lda #$00 ; CPU:$D07A PRG:107A A9 00 + ldx #$30 ; CPU:$D07C PRG:107C A2 30 +; ----------------------------------------------------------------------------- +; Routine: SetupInitialStateLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetupInitialStateLoop: + sta Zp00,x ; CPU:$D07E PRG:107E 95 00 + inx ; CPU:$D080 PRG:1080 E8 + bne SetupInitialStateLoop ; CPU:$D081 PRG:1081 D0 FB + rts ; CPU:$D083 PRG:1083 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMAEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMAEntry: + lda #$00 ; CPU:$D084 PRG:1084 A9 00 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALoop_D086 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALoop_D086: + ldx #$8F ; CPU:$D086 PRG:1086 A2 8F +; ----------------------------------------------------------------------------- +; Routine: SpriteDMASetZp00 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMASetZp00: + sta Zp30,x ; CPU:$D088 PRG:1088 95 30 + dex ; CPU:$D08A PRG:108A CA + bpl SpriteDMASetZp00 ; CPU:$D08B PRG:108B 10 FB + rts ; CPU:$D08D PRG:108D 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMA: + stx Zp00 ; CPU:$D08E PRG:108E 86 00 + sty Zp01 ; CPU:$D090 PRG:1090 84 01 + ldx #$00 ; CPU:$D092 PRG:1092 A2 00 + ldy #$05 ; CPU:$D094 PRG:1094 A0 05 + stx Zp02 ; CPU:$D096 PRG:1096 86 02 + sty Zp03 ; CPU:$D098 PRG:1098 84 03 + jmp $CE55 ; CPU:$D09A PRG:109A 4C 55 CE +; ---- data $D09D-$D173 (215 bytes) ---- + .byte $20, $84, $D0, $20, $12, $D0, $20, $67, $CC, $20, $8A, $E7, $A2, $01, $A5, $C0 ; CPU:$D09D PRG:109D 20 84 D0 20 12 D0 20 67 CC 20 8A E7 A2 01 A5 C0 + .byte $D0, $05, $AD, $FE, $05, $85, $1F, $86, $25, $60, $20, $12, $D0, $A2, $C4, $A0 ; CPU:$D0AD PRG:10AD D0 05 AD FE 05 85 1F 86 25 60 20 12 D0 A2 C4 A0 + .byte $EB, $20, $50, $D0, $A2, $5C, $A0, $F1, $A5, $1F, $F0, $04, $A2, $5D, $A0, $F0 ; CPU:$D0BD PRG:10BD EB 20 50 D0 A2 5C A0 F1 A5 1F F0 04 A2 5D A0 F0 + .byte $20, $50, $D0, $A9, $02, $85, $23, $A9, $02, $85, $25, $20, $43, $CE, $20, $27 ; CPU:$D0CD PRG:10CD 20 50 D0 A9 02 85 23 A9 02 85 25 20 43 CE 20 27 + .byte $D0, $20, $8A, $E7, $20, $C0, $E4, $A0, $00, $84, $A1, $20, $30, $D0, $20, $AC ; CPU:$D0DD PRG:10DD D0 20 8A E7 20 C0 E4 A0 00 84 A1 20 30 D0 20 AC + .byte $E5, $A0, $20, $20, $30, $D0, $20, $AC, $E5, $A0, $40, $20, $30, $D0, $20, $AC ; CPU:$D0ED PRG:10ED E5 A0 20 20 30 D0 20 AC E5 A0 40 20 30 D0 20 AC + .byte $E5, $A9, $90, $8D, $00, $20, $85, $08, $20, $E3, $E7, $20, $E0, $E3, $20, $E3 ; CPU:$D0FD PRG:10FD E5 A9 90 8D 00 20 85 08 20 E3 E7 20 E0 E3 20 E3 + .byte $DC, $A9, $00, $85, $9D, $85, $94, $85, $0A, $85, $8F, $85, $71, $85, $72, $85 ; CPU:$D10D PRG:110D DC A9 00 85 9D 85 94 85 0A 85 8F 85 71 85 72 85 + .byte $74, $A9, $F4, $8D, $58, $02, $A5, $08, $29, $FE, $85, $08, $A9, $55, $85, $73 ; CPU:$D11D PRG:111D 74 A9 F4 8D 58 02 A5 08 29 FE 85 08 A9 55 85 73 + .byte $A9, $01, $85, $95, $A5, $1F, $D0, $08, $A9, $02, $85, $96, $A5, $C0, $F0, $00 ; CPU:$D12D PRG:112D A9 01 85 95 A5 1F D0 08 A9 02 85 96 A5 C0 F0 00 + .byte $A9, $03, $85, $85, $A6, $1F, $D0, $0A, $A6, $C0, $D0, $06, $A9, $40, $85, $2B ; CPU:$D13D PRG:113D A9 03 85 85 A6 1F D0 0A A6 C0 D0 06 A9 40 85 2B + .byte $A9, $0E, $85, $25, $60, $A5, $2B, $D0, $10, $A9, $01, $8D, $01, $03, $8D, $21 ; CPU:$D14D PRG:114D A9 0E 85 25 60 A5 2B D0 10 A9 01 8D 01 03 8D 21 + .byte $03, $8D, $41, $03, $A9, $03, $85, $25, $60, $A9, $00, $8D, $01, $03, $8D, $21 ; CPU:$D15D PRG:115D 03 8D 41 03 A9 03 85 25 60 A9 00 8D 01 03 8D 21 + .byte $03, $8D, $41, $03, $4C, $A4, $D1 ; CPU:$D16D PRG:116D 03 8D 41 03 4C A4 D1 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMask +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMask: + lda Zp85 ; CPU:$D174 PRG:1174 A5 85 + asl a ; CPU:$D176 PRG:1176 0A + tax ; CPU:$D177 PRG:1177 AA + lda $F771,x ; CPU:$D178 PRG:1178 BD 71 F7 + ldy $F772,x ; CPU:$D17B PRG:117B BC 72 F7 + tax ; CPU:$D17E PRG:117E AA + jsr $D050 ; CPU:$D17F PRG:117F 20 50 D0 + lda #$00 ; CPU:$D182 PRG:1182 A9 00 + sta Zp86 ; CPU:$D184 PRG:1184 85 86 + rts ; CPU:$D186 PRG:1186 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskExit: + lda ZpC0 ; CPU:$D187 PRG:1187 A5 C0 + beq UpdatePPUMaskCheckZp85 ; CPU:$D189 PRG:1189 F0 19 + lda Zp80 ; CPU:$D18B PRG:118B A5 80 + cmp #$08 ; CPU:$D18D PRG:118D C9 08 + bne UpdatePPUMaskCheckZp85 ; CPU:$D18F PRG:118F D0 13 + lda Zp81 ; CPU:$D191 PRG:1191 A5 81 + cmp #$05 ; CPU:$D193 PRG:1193 C9 05 + bne UpdatePPUMaskCheckZp85 ; CPU:$D195 PRG:1195 D0 0D + lda #$00 ; CPU:$D197 PRG:1197 A9 00 + sta ZpC0 ; CPU:$D199 PRG:1199 85 C0 + sta ZpF0 ; CPU:$D19B PRG:119B 85 F0 + sta ZpF1 ; CPU:$D19D PRG:119D 85 F1 + sta ZpF2 ; CPU:$D19F PRG:119F 85 F2 + jmp $DA25 ; CPU:$D1A1 PRG:11A1 4C 25 DA +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskCheckZp85 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskCheckZp85: + ldx #$00 ; CPU:$D1A4 PRG:11A4 A2 00 + lda Zp2A ; CPU:$D1A6 PRG:11A6 A5 2A + and #$01 ; CPU:$D1A8 PRG:11A8 29 01 + beq UpdatePPUMaskASL ; CPU:$D1AA PRG:11AA F0 02 + ldx #$04 ; CPU:$D1AC PRG:11AC A2 04 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskASL +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskASL: + jsr $E26C ; CPU:$D1AE PRG:11AE 20 6C E2 + jsr $E2D8 ; CPU:$D1B1 PRG:11B1 20 D8 E2 + lda Zp87 ; CPU:$D1B4 PRG:11B4 A5 87 + beq UpdatePPUMaskEntry ; CPU:$D1B6 PRG:11B6 F0 0C + dec Zp87 ; CPU:$D1B8 PRG:11B8 C6 87 + bne UpdatePPUMaskEntry ; CPU:$D1BA PRG:11BA D0 08 + lda #$F4 ; CPU:$D1BC PRG:11BC A9 F4 + sta $0258 ; CPU:$D1BE PRG:11BE 8D 58 02 + sta $025C ; CPU:$D1C1 PRG:11C1 8D 5C 02 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskEntry: + ldy #$01 ; CPU:$D1C4 PRG:11C4 A0 01 + sty Zp89 ; CPU:$D1C6 PRG:11C6 84 89 + ldy #$20 ; CPU:$D1C8 PRG:11C8 A0 20 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskCheckZp8B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskCheckZp8B: + lda Zp8B ; CPU:$D1CA PRG:11CA A5 8B + beq UpdatePPUMaskSetZp88 ; CPU:$D1CC PRG:11CC F0 2B + lda $0303 ; CPU:$D1CE PRG:11CE AD 03 03 + sec ; CPU:$D1D1 PRG:11D1 38 + sbc $0323 ; CPU:$D1D2 PRG:11D2 ED 23 03 + ldx $0305 ; CPU:$D1D5 PRG:11D5 AE 05 03 + cpx #$11 ; CPU:$D1D8 PRG:11D8 E0 11 + beq UpdatePPUMaskBCS ; CPU:$D1DA PRG:11DA F0 0C + ldx $0325 ; CPU:$D1DC PRG:11DC AE 25 03 + cpx #$11 ; CPU:$D1DF PRG:11DF E0 11 + beq UpdatePPUMaskBCS ; CPU:$D1E1 PRG:11E1 F0 05 + cmp #$19 ; CPU:$D1E3 PRG:11E3 C9 19 + jmp $D1EA ; CPU:$D1E5 PRG:11E5 4C EA D1 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskBCS +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskBCS: + cmp #$09 ; CPU:$D1E8 PRG:11E8 C9 09 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskLdx01 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskLdx01: + bcs UpdatePPUMaskSetZp88 ; CPU:$D1EA PRG:11EA B0 0D + ldx #$01 ; CPU:$D1EC PRG:11EC A2 01 + stx Zp88 ; CPU:$D1EE PRG:11EE 86 88 + dex ; CPU:$D1F0 PRG:11F0 CA + stx Zp8B ; CPU:$D1F1 PRG:11F1 86 8B + stx $031F ; CPU:$D1F3 PRG:11F3 8E 1F 03 + stx $033F ; CPU:$D1F6 PRG:11F6 8E 3F 03 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskSetZp88 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskSetZp88: + jsr $D030 ; CPU:$D1F9 PRG:11F9 20 30 D0 + jsr $DE03 ; CPU:$D1FC PRG:11FC 20 03 DE + jsr $E040 ; CPU:$D1FF PRG:11FF 20 40 E0 + ldy Zp46 ; CPU:$D202 PRG:1202 A4 46 + beq UpdatePlayersCheckZp00 ; CPU:$D204 PRG:1204 F0 0D + lda Zp45 ; CPU:$D206 PRG:1206 A5 45 + beq UpdatePlayersBitZp00 ; CPU:$D208 PRG:1208 F0 39 + dec Zp45 ; CPU:$D20A PRG:120A C6 45 + cmp #$07 ; CPU:$D20C PRG:120C C9 07 + bcs UpdatePlayersCheckZp00 ; CPU:$D20E PRG:120E B0 03 + jmp $D2B2 ; CPU:$D210 PRG:1210 4C B2 D2 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCheckZp00 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCheckZp00: + jsr $E7FE ; CPU:$D213 PRG:1213 20 FE E7 + lda Zp31 ; CPU:$D216 PRG:1216 A5 31 + jsr $CDE0 ; CPU:$D218 PRG:1218 20 E0 CD +; ---- data $D21B-$D242 (40 bytes) ---- + .byte $B2, $D2, $6E, $D2, $61, $D3, $FA, $D3, $98, $D3, $6C, $D4, $C4, $D4, $A2, $D5 ; CPU:$D21B PRG:121B B2 D2 6E D2 61 D3 FA D3 98 D3 6C D4 C4 D4 A2 D5 + .byte $C4, $D5, $56, $D6, $01, $D5, $AB, $D6, $61, $D2, $0C, $D8, $34, $D8, $75, $D8 ; CPU:$D22B PRG:122B C4 D5 56 D6 01 D5 AB D6 61 D2 0C D8 34 D8 75 D8 + .byte $B4, $D8, $EA, $D8, $16, $D9, $7D, $D9 ; CPU:$D23B PRG:123B B4 D8 EA D8 16 D9 7D D9 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersBitZp00 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersBitZp00: + sty Zp43 ; CPU:$D243 PRG:1243 84 43 + jsr $E459 ; CPU:$D245 PRG:1245 20 59 E4 + lda Zp31 ; CPU:$D248 PRG:1248 A5 31 + cmp #$0D ; CPU:$D24A PRG:124A C9 0D + bne UpdatePlayersCpyZp43 ; CPU:$D24C PRG:124C D0 06 + sta $031C,x ; CPU:$D24E PRG:124E 9D 1C 03 + jsr $E21E ; CPU:$D251 PRG:1251 20 1E E2 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCpyZp43 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCpyZp43: + lda #$05 ; CPU:$D254 PRG:1254 A9 05 + sta Zp31 ; CPU:$D256 PRG:1256 85 31 + lda #$00 ; CPU:$D258 PRG:1258 A9 00 + sta Zp3E ; CPU:$D25A PRG:125A 85 3E + sta $0315,x ; CPU:$D25C PRG:125C 9D 15 03 + beq UpdatePlayersCheckZp00 ; CPU:$D25F PRG:125F F0 B2 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersStxZp31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersStxZp31: + lda Zp88 ; CPU:$D261 PRG:1261 A5 88 + bne UpdatePlayersStyZp43 ; CPU:$D263 PRG:1263 D0 39 + ldy #$0B ; CPU:$D265 PRG:1265 A0 0B + sty Zp4F ; CPU:$D267 PRG:1267 84 4F + bne UpdatePlayersStyZp43Alt ; CPU:$D269 PRG:1269 D0 3E + jmp $D304 ; CPU:$D26B PRG:126B 4C 04 D3 +; ---- data $D26E-$D27A (13 bytes) ---- + .byte $20, $6E, $E4, $A2, $04, $A0, $0D, $A9, $01, $24, $00, $D0, $F0 ; CPU:$D26E PRG:126E 20 6E E4 A2 04 A0 0D A9 01 24 00 D0 F0 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersEntry: + ldy #$01 ; CPU:$D27B PRG:127B A0 01 + lda #$40 ; CPU:$D27D PRG:127D A9 40 + bit Zp00 ; CPU:$D27F PRG:127F 24 00 + bne UpdatePlayersCpyZp43Alt ; CPU:$D281 PRG:1281 D0 06 + iny ; CPU:$D283 PRG:1283 C8 + iny ; CPU:$D284 PRG:1284 C8 + lda #$80 ; CPU:$D285 PRG:1285 A9 80 + bit Zp00 ; CPU:$D287 PRG:1287 24 00 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCpyZp43Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCpyZp43Alt: + bne UpdatePlayersCallE462_CF ; CPU:$D289 PRG:1289 D0 3C + lda #$02 ; CPU:$D28B PRG:128B A9 02 + bit Zp00 ; CPU:$D28D PRG:128D 24 00 + bne UpdatePlayersStxZp31 ; CPU:$D28F PRG:128F D0 D0 + lda Zp88 ; CPU:$D291 PRG:1291 A5 88 + bne UpdatePlayersStyZp43 ; CPU:$D293 PRG:1293 D0 09 + lda Zp4F ; CPU:$D295 PRG:1295 A5 4F + beq UpdatePlayersStyZp43 ; CPU:$D297 PRG:1297 F0 05 + jsr $D7DB ; CPU:$D299 PRG:1299 20 DB D7 + bne UpdatePlayersCallE5AC ; CPU:$D29C PRG:129C D0 14 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersStyZp43 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersStyZp43: + ldy #$06 ; CPU:$D29E PRG:129E A0 06 + lda Zp44 ; CPU:$D2A0 PRG:12A0 A5 44 + bne UpdatePlayersEntryAlt ; CPU:$D2A2 PRG:12A2 D0 01 + dey ; CPU:$D2A4 PRG:12A4 88 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersEntryAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersEntryAlt: + ldx #$01 ; CPU:$D2A5 PRG:12A5 A2 01 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersStxZp31Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersStxZp31Alt: + stx Zp31 ; CPU:$D2A7 PRG:12A7 86 31 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersStyZp43Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersStyZp43Alt: + cpy Zp43 ; CPU:$D2A9 PRG:12A9 C4 43 + bne UpdatePlayersCallE462 ; CPU:$D2AB PRG:12AB D0 17 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE4E2: + sty Zp43 ; CPU:$D2AD PRG:12AD 84 43 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE4E2Alt: + jsr $E4E2 ; CPU:$D2AF PRG:12AF 20 E2 E4 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE5AC: + jsr $E5AC ; CPU:$D2B2 PRG:12B2 20 AC E5 + jsr $D040 ; CPU:$D2B5 PRG:12B5 20 40 D0 + ldx Zp89 ; CPU:$D2B8 PRG:12B8 A6 89 + beq UpdatePlayersCheckZp1F ; CPU:$D2BA PRG:12BA F0 0E + dex ; CPU:$D2BC PRG:12BC CA + stx Zp89 ; CPU:$D2BD PRG:12BD 86 89 + ldy #$00 ; CPU:$D2BF PRG:12BF A0 00 + jmp $D1CA ; CPU:$D2C1 PRG:12C1 4C CA D1 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE462 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE462: + jmp $D34B ; CPU:$D2C4 PRG:12C4 4C 4B D3 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE462_CF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE462_CF: + jmp $D313 ; CPU:$D2C7 PRG:12C7 4C 13 D3 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCheckZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCheckZp1F: + inx ; CPU:$D2CA PRG:12CA E8 + inx ; CPU:$D2CB PRG:12CB E8 + stx Zp89 ; CPU:$D2CC PRG:12CC 86 89 + ldy #$40 ; CPU:$D2CE PRG:12CE A0 40 + jsr $D030 ; CPU:$D2D0 PRG:12D0 20 30 D0 + jsr $E076 ; CPU:$D2D3 PRG:12D3 20 76 E0 + jsr $E5AC ; CPU:$D2D6 PRG:12D6 20 AC E5 + jsr $E207 ; CPU:$D2D9 PRG:12D9 20 07 E2 + jsr $D040 ; CPU:$D2DC PRG:12DC 20 40 D0 + jsr $DBBF ; CPU:$D2DF PRG:12DF 20 BF DB + lda Zp93 ; CPU:$D2E2 PRG:12E2 A5 93 + bne UpdateScoreEntry ; CPU:$D2E4 PRG:12E4 D0 1A + ldx ZpCC ; CPU:$D2E6 PRG:12E6 A6 CC + txa ; CPU:$D2E8 PRG:12E8 8A + eor #$20 ; CPU:$D2E9 PRG:12E9 49 20 + tay ; CPU:$D2EB PRG:12EB A8 + lda #$60 ; CPU:$D2EC PRG:12EC A9 60 + sta $0306,x ; CPU:$D2EE PRG:12EE 9D 06 03 + lda #$A0 ; CPU:$D2F1 PRG:12F1 A9 A0 + sta $0307,x ; CPU:$D2F3 PRG:12F3 9D 07 03 + lda #$A0 ; CPU:$D2F6 PRG:12F6 A9 A0 + sta $0306,y ; CPU:$D2F8 PRG:12F8 99 06 03 + lda #$E0 ; CPU:$D2FB PRG:12FB A9 E0 + sta $0307,y ; CPU:$D2FD PRG:12FD 99 07 03 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreEntry: + rts ; CPU:$D300 PRG:1300 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCheckZp88 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCheckZp88: + jmp $D392 ; CPU:$D301 PRG:1301 4C 92 D3 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreSetZp31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreSetZp31: + lda Zp88 ; CPU:$D304 PRG:1304 A5 88 + beq UpdateScoreCheckZp88 ; CPU:$D306 PRG:1306 F0 F9 + lda #$7D ; CPU:$D308 PRG:1308 A9 7D + sta Zp32 ; CPU:$D30A PRG:130A 85 32 + lda #$00 ; CPU:$D30C PRG:130C A9 00 + sta Zp46 ; CPU:$D30E PRG:130E 85 46 + jmp $D2A7 ; CPU:$D310 PRG:1310 4C A7 D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreLoadZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreLoadZp1F: + ldx Zp1F ; CPU:$D313 PRG:1313 A6 1F + bne UpdateScoreBeqD31F ; CPU:$D315 PRG:1315 D0 08 + ldx Zp89 ; CPU:$D317 PRG:1317 A6 89 + bne UpdateScoreBeqD31F ; CPU:$D319 PRG:1319 D0 04 + ldy #$03 ; CPU:$D31B PRG:131B A0 03 + bne UpdateScoreCallE2B9 ; CPU:$D31D PRG:131D D0 13 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreBeqD31F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreBeqD31F: + ldx Zp3D ; CPU:$D31F PRG:131F A6 3D + beq UpdateScoreLdxZp89 ; CPU:$D321 PRG:1321 F0 04 + ldy #$01 ; CPU:$D323 PRG:1323 A0 01 + lda #$80 ; CPU:$D325 PRG:1325 A9 80 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreLdxZp89 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreLdxZp89: + pha ; CPU:$D327 PRG:1327 48 + tya ; CPU:$D328 PRG:1328 98 + pha ; CPU:$D329 PRG:1329 48 + ldx #$01 ; CPU:$D32A PRG:132A A2 01 + jsr $E2B9 ; CPU:$D32C PRG:132C 20 B9 E2 + pla ; CPU:$D32F PRG:132F 68 + tay ; CPU:$D330 PRG:1330 A8 + pla ; CPU:$D331 PRG:1331 68 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCallE2B9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCallE2B9: + asl a ; CPU:$D332 PRG:1332 0A + sta Zp4C ; CPU:$D333 PRG:1333 85 4C + jsr $E459 ; CPU:$D335 PRG:1335 20 59 E4 + stx ZpCC ; CPU:$D338 PRG:1338 86 CC + ldx #$03 ; CPU:$D33A PRG:133A A2 03 + lda Zp44 ; CPU:$D33C PRG:133C A5 44 + beq UpdateScoreCallE459 ; CPU:$D33E PRG:133E F0 01 + iny ; CPU:$D340 PRG:1340 C8 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCallE459 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCallE459: + jmp $D2A7 ; CPU:$D341 PRG:1341 4C A7 D2 +; ---- data $D344-$D34A (7 bytes) ---- + .byte $A5, $88, $F0, $C8, $4C, $9E, $D2 ; CPU:$D344 PRG:1344 A5 88 F0 C8 4C 9E D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCallE462 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCallE462: + jsr $E462 ; CPU:$D34B PRG:134B 20 62 E4 + cpy #$0D ; CPU:$D34E PRG:134E C0 0D + beq UpdateScoreCpy0D ; CPU:$D350 PRG:1350 F0 0C + cpy #$07 ; CPU:$D352 PRG:1352 C0 07 + beq UpdateScoreCpy0D ; CPU:$D354 PRG:1354 F0 08 + cpy #$08 ; CPU:$D356 PRG:1356 C0 08 + beq UpdateScoreCpy0D ; CPU:$D358 PRG:1358 F0 04 + lda #$7B ; CPU:$D35A PRG:135A A9 7B + sta Zp32 ; CPU:$D35C PRG:135C 85 32 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCpy0D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCpy0D: + jmp $D2AD ; CPU:$D35E PRG:135E 4C AD D2 +; ---- data $D361-$D366 (6 bytes) ---- + .byte $A5, $3E, $F0, $05, $C6, $3E ; CPU:$D361 PRG:1361 A5 3E F0 05 C6 3E +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreSetZp31Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreSetZp31Alt: + jmp $D2B2 ; CPU:$D367 PRG:1367 4C B2 D2 +; ---- data $D36A-$D391 (40 bytes) ---- + .byte $20, $6E, $E4, $A0, $0B, $A2, $02, $A5, $33, $C9, $2E, $90, $12, $C9, $D2, $B0 ; CPU:$D36A PRG:136A 20 6E E4 A0 0B A2 02 A5 33 C9 2E 90 12 C9 D2 B0 + .byte $0E, $A9, $01, $24, $00, $D0, $C0, $A9, $01, $85, $4F, $A0, $00, $F0, $45, $20 ; CPU:$D37A PRG:137A 0E A9 01 24 00 D0 C0 A9 01 85 4F A0 00 F0 45 20 + .byte $DB, $D7, $A9, $01, $85, $3A, $D0, $F1 ; CPU:$D38A PRG:138A DB D7 A9 01 85 3A D0 F1 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreLdx02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreLdx02: + ldx #$02 ; CPU:$D392 PRG:1392 A2 02 + stx Zp31 ; CPU:$D394 PRG:1394 86 31 + bne UpdateScoreSetZp31Alt ; CPU:$D396 PRG:1396 D0 CF + jsr $E46E ; CPU:$D398 PRG:1398 20 6E E4 + lda Zp00 ; CPU:$D39B PRG:139B A5 00 + and #$C0 ; CPU:$D39D PRG:139D 29 C0 + beq UpdateScoreCheckZp88Alt ; CPU:$D39F PRG:139F F0 03 + jmp $D27B ; CPU:$D3A1 PRG:13A1 4C 7B D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCheckZp88Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCheckZp88Alt: + lda #$02 ; CPU:$D3A4 PRG:13A4 A9 02 + bit Zp00 ; CPU:$D3A6 PRG:13A6 24 00 + bne UpdateScoreBneD408 ; CPU:$D3A8 PRG:13A8 D0 19 + lda Zp43 ; CPU:$D3AA PRG:13AA A5 43 + bne UpdateScoreExit ; CPU:$D3AC PRG:13AC D0 60 + lda Zp47 ; CPU:$D3AE PRG:13AE A5 47 + beq UpdateScoreSetZp31Alt2 ; CPU:$D3B0 PRG:13B0 F0 0B + lda #$00 ; CPU:$D3B2 PRG:13B2 A9 00 + sta Zp47 ; CPU:$D3B4 PRG:13B4 85 47 + ldx #$04 ; CPU:$D3B6 PRG:13B6 A2 04 + ldy #$0D ; CPU:$D3B8 PRG:13B8 A0 0D + jmp $D304 ; CPU:$D3BA PRG:13BA 4C 04 D3 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreSetZp31Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreSetZp31Alt2: + lda #$01 ; CPU:$D3BD PRG:13BD A9 01 + bit Zp00 ; CPU:$D3BF PRG:13BF 24 00 + bne UpdateScoreBneD40E ; CPU:$D3C1 PRG:13C1 D0 0E +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreBneD408 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreBneD408: + lda #$50 ; CPU:$D3C3 PRG:13C3 A9 50 + sta Zp3E ; CPU:$D3C5 PRG:13C5 85 3E + ldy #$05 ; CPU:$D3C7 PRG:13C7 A0 05 + lda Zp44 ; CPU:$D3C9 PRG:13C9 A5 44 + beq UpdateScoreCallE46E ; CPU:$D3CB PRG:13CB F0 01 + iny ; CPU:$D3CD PRG:13CD C8 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCallE46E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCallE46E: + jmp $D2A5 ; CPU:$D3CE PRG:13CE 4C A5 D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreBneD40E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreBneD40E: + lda Zp88 ; CPU:$D3D1 PRG:13D1 A5 88 + beq UpdateScoreLdx02 ; CPU:$D3D3 PRG:13D3 F0 BD + lda Zp3A ; CPU:$D3D5 PRG:13D5 A5 3A + bne UpdateScoreBneD408 ; CPU:$D3D7 PRG:13D7 D0 EA + lda #$7B ; CPU:$D3D9 PRG:13D9 A9 7B + sta Zp32 ; CPU:$D3DB PRG:13DB 85 32 + lda #$00 ; CPU:$D3DD PRG:13DD A9 00 + sta Zp46 ; CPU:$D3DF PRG:13DF 85 46 + sta Zp88 ; CPU:$D3E1 PRG:13E1 85 88 + lda #$03 ; CPU:$D3E3 PRG:13E3 A9 03 + sta Zp35 ; CPU:$D3E5 PRG:13E5 85 35 + lda #$10 ; CPU:$D3E7 PRG:13E7 A9 10 + sta Zp3E ; CPU:$D3E9 PRG:13E9 85 3E + lda #$10 ; CPU:$D3EB PRG:13EB A9 10 + ldx Zp89 ; CPU:$D3ED PRG:13ED A6 89 + beq UpdateScoreSetZp31Alt3 ; CPU:$D3EF PRG:13EF F0 02 + lda #$F0 ; CPU:$D3F1 PRG:13F1 A9 F0 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreSetZp31Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreSetZp31Alt3: + clc ; CPU:$D3F3 PRG:13F3 18 + adc Zp33 ; CPU:$D3F4 PRG:13F4 65 33 + sta Zp33 ; CPU:$D3F6 PRG:13F6 85 33 + bne UpdateScoreLdx02 ; CPU:$D3F8 PRG:13F8 D0 98 + lda Zp41 ; CPU:$D3FA PRG:13FA A5 41 + cmp #$01 ; CPU:$D3FC PRG:13FC C9 01 + bne UpdateScoreBneD3CE ; CPU:$D3FE PRG:13FE D0 08 + lda Zp42 ; CPU:$D400 PRG:1400 A5 42 + ldy Zp43 ; CPU:$D402 PRG:1402 A4 43 + cmp #$02 ; CPU:$D404 PRG:1404 C9 02 + beq UpdateScoreLDY02 ; CPU:$D406 PRG:1406 F0 09 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreBneD3CE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreBneD3CE: + lda Zp43 ; CPU:$D408 PRG:1408 A5 43 + bne UpdateScoreExit ; CPU:$D40A PRG:140A D0 02 + beq UpdateScoreBneD408 ; CPU:$D40C PRG:140C F0 B5 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreExit: + jmp $D2AF ; CPU:$D40E PRG:140E 4C AF D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreLDY02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreLDY02: + sty Zp01 ; CPU:$D411 PRG:1411 84 01 + lda Zp88 ; CPU:$D413 PRG:1413 A5 88 + beq DrawRoundNumberCallE7A7 ; CPU:$D415 PRG:1415 F0 44 + jsr $E459 ; CPU:$D417 PRG:1417 20 59 E4 + lda $0301,x ; CPU:$D41A PRG:141A BD 01 03 + cmp #$0D ; CPU:$D41D PRG:141D C9 0D + beq DrawRoundNumberCallE4E2 ; CPU:$D41F PRG:141F F0 42 + cmp #$03 ; CPU:$D421 PRG:1421 C9 03 + beq DrawRoundNumberCalc ; CPU:$D423 PRG:1423 F0 11 + cmp #$01 ; CPU:$D425 PRG:1425 C9 01 + bne DrawRoundNumberCallE7A7 ; CPU:$D427 PRG:1427 D0 32 + lda Zp31 ; CPU:$D429 PRG:1429 A5 31 + cmp #$08 ; CPU:$D42B PRG:142B C9 08 + beq DrawRoundNumberCalc ; CPU:$D42D PRG:142D F0 07 + lda Zp44 ; CPU:$D42F PRG:142F A5 44 + cmp $0314,x ; CPU:$D431 PRG:1431 DD 14 03 + beq DrawRoundNumberClc ; CPU:$D434 PRG:1434 F0 0E +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberCalc +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberCalc: + tya ; CPU:$D436 PRG:1436 98 + clc ; CPU:$D437 PRG:1437 18 + adc #$06 ; CPU:$D438 PRG:1438 69 06 + sta $0316,x ; CPU:$D43A PRG:143A 9D 16 03 + lda #$0D ; CPU:$D43D PRG:143D A9 0D + sta $0315,x ; CPU:$D43F PRG:143F 9D 15 03 + bne DrawRoundNumberADC06 ; CPU:$D442 PRG:1442 D0 03 +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberClc +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberClc: + jsr $E7A7 ; CPU:$D444 PRG:1444 20 A7 E7 +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberADC06 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberADC06: + lda #$50 ; CPU:$D447 PRG:1447 A9 50 + sta $030E,x ; CPU:$D449 PRG:1449 9D 0E 03 + lda #$7B ; CPU:$D44C PRG:144C A9 7B + sta $0302,x ; CPU:$D44E PRG:144E 9D 02 03 + tya ; CPU:$D451 PRG:1451 98 + pha ; CPU:$D452 PRG:1452 48 + ldx #$01 ; CPU:$D453 PRG:1453 A2 01 + ldy Zp4C ; CPU:$D455 PRG:1455 A4 4C + ldx #$10 ; CPU:$D457 PRG:1457 A2 10 + pla ; CPU:$D459 PRG:1459 68 + tay ; CPU:$D45A PRG:145A A8 +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberCallE7A7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberCallE7A7: + ldx #$03 ; CPU:$D45B PRG:145B A2 03 + jsr $E7AF ; CPU:$D45D PRG:145D 20 AF E7 + jmp $D2A7 ; CPU:$D460 PRG:1460 4C A7 D2 +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberCallE4E2: + jsr $E21E ; CPU:$D463 PRG:1463 20 1E E2 + jmp $D436 ; CPU:$D466 PRG:1466 4C 36 D4 +; ---- data $D469-$D7DA (882 bytes) ---- +; referenced by `ora $D5D0,y` at $DBCB (operand $D5D0 falls inside this region) + .byte $4C, $B2, $D2, $A5, $89, $0A, $0A, $0A, $85, $34, $20, $59, $E4, $A9, $10, $A4 ; CPU:$D469 PRG:1469 4C B2 D2 A5 89 0A 0A 0A 85 34 20 59 E4 A9 10 A4 + .byte $3D, $D0, $3A, $BC, $1C, $03, $D0, $35, $A2, $04, $20, $B9, $E2, $A5, $33, $C9 ; CPU:$D479 PRG:1479 3D D0 3A BC 1C 03 D0 35 A2 04 20 B9 E2 A5 33 C9 + .byte $36, $90, $2E, $C9, $C8, $B0, $2A, $A4, $43, $C0, $09, $F0, $07, $20, $9F, $E7 ; CPU:$D489 PRG:1489 36 90 2E C9 C8 B0 2A A4 43 C0 09 F0 07 20 9F E7 + .byte $A2, $17, $D0, $05, $20, $A3, $E7, $A2, $16, $A9, $00, $85, $46, $85, $43, $85 ; CPU:$D499 PRG:1499 A2 17 D0 05 20 A3 E7 A2 16 A9 00 85 46 85 43 85 + .byte $49, $A9, $46, $85, $4A, $86, $35, $A2, $06, $86, $31, $D0, $B3, $AA, $20, $B9 ; CPU:$D4A9 PRG:14A9 49 A9 46 85 4A 86 35 A2 06 86 31 D0 B3 AA 20 B9 + .byte $E2, $A2, $07, $86, $31, $A9, $00, $85, $46, $F0, $A5, $20, $6E, $E4, $20, $0E ; CPU:$D4B9 PRG:14B9 E2 A2 07 86 31 A9 00 85 46 F0 A5 20 6E E4 20 0E + .byte $E4, $C9, $FF, $F0, $21, $A5, $49, $C9, $0E, $D0, $18, $20, $59, $E4, $BD, $01 ; CPU:$D4C9 PRG:14C9 E4 C9 FF F0 21 A5 49 C9 0E D0 18 20 59 E4 BD 01 + .byte $03, $C9, $05, $B0, $14, $A9, $0C, $9D, $01, $03, $E6, $8B, $A9, $00, $9D, $0E ; CPU:$D4D9 PRG:14D9 03 C9 05 B0 14 A9 0C 9D 01 03 E6 8B A9 00 9D 0E + .byte $03, $85, $88, $4C, $B2, $D2, $4C, $C3, $D3, $A9, $0A, $A4, $89, $D0, $02, $A9 ; CPU:$D4E9 PRG:14E9 03 85 88 4C B2 D2 4C C3 D3 A9 0A A4 89 D0 02 A9 + .byte $F6, $18, $65, $33, $85, $33, $D0, $EB, $C6, $45, $D0, $E7, $A4, $39, $D0, $24 ; CPU:$D4F9 PRG:14F9 F6 18 65 33 85 33 D0 EB C6 45 D0 E7 A4 39 D0 24 + .byte $20, $59, $E4, $A9, $11, $9D, $01, $03, $85, $93, $A9, $00, $85, $91, $85, $92 ; CPU:$D509 PRG:1509 20 59 E4 A9 11 9D 01 03 85 93 A9 00 85 91 85 92 + .byte $85, $30, $85, $31, $8D, $40, $03, $9D, $06, $03, $A9, $40, $9D, $07, $03, $20 ; CPU:$D519 PRG:1519 85 30 85 31 8D 40 03 9D 06 03 A9 40 9D 07 03 20 + .byte $F7, $DD, $D0, $BF, $A9, $0B, $A4, $89, $D0, $02, $A9, $00, $85, $31, $A9, $00 ; CPU:$D529 PRG:1529 F7 DD D0 BF A9 0B A4 89 D0 02 A9 00 85 31 A9 00 + .byte $8D, $01, $03, $8D, $41, $03, $85, $0A, $A9, $3D, $8D, $42, $03, $A9, $F4, $8D ; CPU:$D539 PRG:1539 8D 01 03 8D 41 03 85 0A A9 3D 8D 42 03 A9 F4 8D + .byte $58, $02, $8D, $5C, $02, $8D, $54, $02, $8D, $50, $02, $A9, $13, $8D, $45, $03 ; CPU:$D549 PRG:1549 58 02 8D 5C 02 8D 54 02 8D 50 02 A9 13 8D 45 03 + .byte $20, $E3, $DC, $A5, $89, $85, $8A, $F0, $18, $E6, $85, $A5, $85, $C9, $06, $D0 ; CPU:$D559 PRG:1559 20 E3 DC A5 89 85 8A F0 18 E6 85 A5 85 C9 06 D0 + .byte $04, $A9, $02, $85, $85, $A5, $08, $49, $01, $85, $08, $A9, $FF, $85, $0A, $D0 ; CPU:$D569 PRG:1569 04 A9 02 85 85 A5 08 49 01 85 08 A9 FF 85 0A D0 + .byte $08, $C6, $85, $D0, $04, $A9, $04, $85, $85, $20, $12, $D0, $A2, $01, $20, $3B ; CPU:$D579 PRG:1579 08 C6 85 D0 04 A9 04 85 85 20 12 D0 A2 01 20 3B + .byte $DA, $A2, $00, $20, $3B, $DA, $A9, $9F, $8D, $00, $02, $A9, $0B, $8D, $21, $03 ; CPU:$D589 PRG:1589 DA A2 00 20 3B DA A9 9F 8D 00 02 A9 0B 8D 21 03 + .byte $20, $E7, $E7, $A9, $01, $85, $86, $D0, $4F, $A9, $00, $85, $46, $85, $49, $85 ; CPU:$D599 PRG:1599 20 E7 E7 A9 01 85 86 D0 4F A9 00 85 46 85 49 85 + .byte $4A, $A0, $0B, $A5, $44, $D0, $06, $20, $9B, $E7, $C8, $D0, $03, $20, $97, $E7 ; CPU:$D5A9 PRG:15A9 4A A0 0B A5 44 D0 06 20 9B E7 C8 D0 03 20 97 E7 + .byte $84, $35, $20, $B6, $E7, $A2, $08, $86, $31, $D0, $2D, $20, $0E, $E4, $C9, $FF ; CPU:$D5B9 PRG:15B9 84 35 20 B6 E7 A2 08 86 31 D0 2D 20 0E E4 C9 FF + .byte $F0, $29, $A4, $35, $C0, $0E, $D0, $11, $C9, $2E, $90, $49, $C9, $D2, $B0, $45 ; CPU:$D5C9 PRG:15C9 F0 29 A4 35 C0 0E D0 11 C9 2E 90 49 C9 D2 B0 45 + .byte $A5, $49, $C9, $14, $D0, $03, $20, $C2, $E7, $C0, $11, $D0, $0B, $E6, $4F, $20 ; CPU:$D5D9 PRG:15D9 A5 49 C9 14 D0 03 20 C2 E7 C0 11 D0 0B E6 4F 20 + .byte $59, $E4, $E6, $8B, $A9, $00, $85, $88, $4C, $B2, $D2, $A9, $7B, $85, $32, $A0 ; CPU:$D5E9 PRG:15E9 59 E4 E6 8B A9 00 85 88 4C B2 D2 A9 7B 85 32 A0 + .byte $04, $A5, $44, $F0, $01, $C8, $20, $62, $E4, $A9, $0A, $85, $48, $8D, $18, $03 ; CPU:$D5F9 PRG:15F9 04 A5 44 F0 01 C8 20 62 E4 A9 0A 85 48 8D 18 03 + .byte $8D, $38, $03, $4C, $A5, $D2, $20, $C2, $E7, $A9, $00, $85, $84, $8D, $41, $03 ; CPU:$D609 PRG:1609 8D 38 03 4C A5 D2 20 C2 E7 A9 00 85 84 8D 41 03 + .byte $A9, $4A, $4C, $37, $D6, $A9, $00, $85, $49, $85, $88, $20, $05, $DB, $A5, $39 ; CPU:$D619 PRG:1619 A9 4A 4C 37 D6 A9 00 85 49 85 88 20 05 DB A5 39 + .byte $D0, $E4, $A9, $00, $85, $84, $20, $BA, $E7, $20, $B7, $DA, $A9, $42, $85, $4A ; CPU:$D629 PRG:1629 D0 E4 A9 00 85 84 20 BA E7 20 B7 DA A9 42 85 4A + .byte $20, $59, $E4, $A9, $00, $9D, $01, $03, $9D, $11, $03, $9D, $12, $03, $9D, $0E ; CPU:$D639 PRG:1639 20 59 E4 A9 00 9D 01 03 9D 11 03 9D 12 03 9D 0E + .byte $03, $FE, $1F, $03, $E6, $4F, $A9, $09, $85, $31, $4C, $B2, $D2, $20, $0E, $E4 ; CPU:$D649 PRG:1649 03 FE 1F 03 E6 4F A9 09 85 31 4C B2 D2 20 0E E4 + .byte $C9, $FF, $D0, $1F, $A9, $20, $85, $45, $A9, $0A, $85, $31, $A5, $32, $C9, $98 ; CPU:$D659 PRG:1659 C9 FF D0 1F A9 20 85 45 A9 0A 85 31 A5 32 C9 98 + .byte $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9, $F0, $90, $04, $A9, $FC, $85, $32 ; CPU:$D669 PRG:1669 B0 0A A5 33 C9 12 90 04 C9 F0 90 04 A9 FC 85 32 + .byte $4C, $B2, $D2, $A5, $32, $C9, $98, $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9 ; CPU:$D679 PRG:1679 4C B2 D2 A5 32 C9 98 B0 0A A5 33 C9 12 90 04 C9 + .byte $F4, $90, $ED, $A9, $FC, $85, $32, $D0, $CB, $D0, $E5, $A5, $0A, $C9, $D3, $D0 ; CPU:$D689 PRG:1689 F4 90 ED A9 FC 85 32 D0 CB D0 E5 A5 0A C9 D3 D0 + .byte $4C, $A9, $7B, $85, $32, $A9, $F8, $85, $33, $A9, $15, $85, $35, $D0, $3E, $4C ; CPU:$D699 PRG:1699 4C A9 7B 85 32 A9 F8 85 33 A9 15 85 35 D0 3E 4C + .byte $6F, $D7, $A9, $0B, $8D, $01, $03, $A9, $06, $8D, $41, $03, $A5, $8A, $D0, $EF ; CPU:$D6A9 PRG:16A9 6F D7 A9 0B 8D 01 03 A9 06 8D 41 03 A5 8A D0 EF + .byte $A6, $89, $E0, $02, $F0, $27, $E0, $00, $F0, $D1, $A5, $83, $D0, $1F, $A5, $0A ; CPU:$D6B9 PRG:16B9 A6 89 E0 02 F0 27 E0 00 F0 D1 A5 83 D0 1F A5 0A + .byte $C9, $86, $D0, $08, $85, $83, $A9, $15, $85, $35, $D0, $11, $A0, $0B, $84, $43 ; CPU:$D6C9 PRG:16C9 C9 86 D0 08 85 83 A9 15 85 35 D0 11 A0 0B 84 43 + .byte $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2, $E4, $D0, $02, $C6, $33, $A5 ; CPU:$D6D9 PRG:16D9 A9 00 85 3E A9 7B 85 32 20 E2 E4 D0 02 C6 33 A5 + .byte $89, $C9, $00, $F0, $06, $C9, $02, $F0, $6A, $D0, $9E, $A2, $00, $DE, $5B, $02 ; CPU:$D6E9 PRG:16E9 89 C9 00 F0 06 C9 02 F0 6A D0 9E A2 00 DE 5B 02 + .byte $DE, $5F, $02, $20, $D0, $D7, $A5, $0A, $C9, $80, $D0, $23, $A5, $A0, $F0, $1F ; CPU:$D6F9 PRG:16F9 DE 5F 02 20 D0 D7 A5 0A C9 80 D0 23 A5 A0 F0 1F + .byte $E6, $73, $E6, $74, $A5, $74, $C9, $06, $D0, $12, $A5, $72, $C9, $12, $F0, $0C ; CPU:$D709 PRG:1709 E6 73 E6 74 A5 74 C9 06 D0 12 A5 72 C9 12 F0 0C + .byte $E6, $72, $E6, $72, $A9, $01, $85, $74, $A9, $56, $85, $73, $20, $50, $E3, $E6 ; CPU:$D719 PRG:1719 E6 72 E6 72 A9 01 85 74 A9 56 85 73 20 50 E3 E6 + .byte $0A, $D0, $2D, $A5, $08, $49, $01, $85, $08, $A0, $01, $84, $31, $8C, $21, $03 ; CPU:$D729 PRG:1729 0A D0 2D A5 08 49 01 85 08 A0 01 84 31 8C 21 03 + .byte $8C, $41, $03, $20, $EB, $E7, $20, $E0, $E3, $A5, $1F, $D0, $08, $A5, $8A, $D0 ; CPU:$D739 PRG:1739 8C 41 03 20 EB E7 20 E0 E3 A5 1F D0 08 A5 8A D0 + .byte $04, $A9, $20, $85, $96, $A5, $A0, $F0, $07, $20, $D9, $DA, $A9, $00, $85, $A0 ; CPU:$D749 PRG:1749 04 A9 20 85 96 A5 A0 F0 07 20 D9 DA A9 00 85 A0 + .byte $4C, $B2, $D2, $AD, $02, $20, $29, $40, $F0, $F9, $A6, $0A, $A9, $00, $85, $0A ; CPU:$D759 PRG:1759 4C B2 D2 AD 02 20 29 40 F0 F9 A6 0A A9 00 85 0A + .byte $20, $43, $CE, $86, $0A, $60, $A6, $89, $E0, $02, $F0, $27, $E0, $00, $D0, $43 ; CPU:$D769 PRG:1769 20 43 CE 86 0A 60 A6 89 E0 02 F0 27 E0 00 D0 43 + .byte $A5, $83, $D0, $1F, $A5, $0A, $C9, $80, $D0, $08, $85, $83, $A9, $15, $85, $35 ; CPU:$D779 PRG:1779 A5 83 D0 1F A5 0A C9 80 D0 08 85 83 A9 15 85 35 + .byte $D0, $11, $A0, $0B, $84, $43, $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2 ; CPU:$D789 PRG:1789 D0 11 A0 0B 84 43 A9 00 85 3E A9 7B 85 32 20 E2 + .byte $E4, $D0, $02, $E6, $33, $A5, $89, $C9, $00, $F0, $06, $C9, $02, $F0, $B4, $D0 ; CPU:$D799 PRG:1799 E4 D0 02 E6 33 A5 89 C9 00 F0 06 C9 02 F0 B4 D0 + .byte $80, $A2, $00, $FE, $5B, $02, $FE, $5F, $02, $20, $D0, $D7, $C6, $0A, $D0, $EF ; CPU:$D7A9 PRG:17A9 80 A2 00 FE 5B 02 FE 5F 02 20 D0 D7 C6 0A D0 EF + .byte $4C, $32, $D7, $A5, $0A, $C9, $32, $D0, $DA, $A9, $7B, $85, $32, $A9, $02, $85 ; CPU:$D7B9 PRG:17B9 4C 32 D7 A5 0A C9 32 D0 DA A9 7B 85 32 A9 02 85 + .byte $33, $A9, $15, $85, $35, $D0, $CC, $D0, $08, $A9, $F4, $9D, $58, $02, $9D, $5C ; CPU:$D7C9 PRG:17C9 33 A9 15 85 35 D0 CC D0 08 A9 F4 9D 58 02 9D 5C + .byte $02, $60 ; CPU:$D7D9 PRG:17D9 02 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositions +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositions: + lda Zp84 ; CPU:$D7DB PRG:17DB A5 84 + cmp #$03 ; CPU:$D7DD PRG:17DD C9 03 + bne UpdatePlayerPositionsCheckZp84 ; CPU:$D7DF PRG:17DF D0 1B + lda Zp82 ; CPU:$D7E1 PRG:17E1 A5 82 + bne UpdatePlayerPositionsCheckZp84 ; CPU:$D7E3 PRG:17E3 D0 17 + lda #$1B ; CPU:$D7E5 PRG:17E5 A9 1B + sta Zp35 ; CPU:$D7E7 PRG:17E7 85 35 + ldx Zp89 ; CPU:$D7E9 PRG:17E9 A6 89 + lda Zp2B,x ; CPU:$D7EB PRG:17EB B5 2B + bne UpdatePlayerPositionsSetZp32 ; CPU:$D7ED PRG:17ED D0 18 + lda #$60 ; CPU:$D7EF PRG:17EF A9 60 + sta Zp2B,x ; CPU:$D7F1 PRG:17F1 95 2B + lda #$08 ; CPU:$D7F3 PRG:17F3 A9 08 + eor Zp34 ; CPU:$D7F5 PRG:17F5 45 34 + sta Zp34 ; CPU:$D7F7 PRG:17F7 85 34 + jmp $D807 ; CPU:$D7F9 PRG:17F9 4C 07 D8 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsCheckZp84 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsCheckZp84: + lda Zp89 ; CPU:$D7FC PRG:17FC A5 89 + asl a ; CPU:$D7FE PRG:17FE 0A + asl a ; CPU:$D7FF PRG:17FF 0A + asl a ; CPU:$D800 PRG:1800 0A + sta Zp34 ; CPU:$D801 PRG:1801 85 34 + lda #$15 ; CPU:$D803 PRG:1803 A9 15 + sta Zp35 ; CPU:$D805 PRG:1805 85 35 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsSetZp32 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsSetZp32: + lda #$7B ; CPU:$D807 PRG:1807 A9 7B + sta Zp32 ; CPU:$D809 PRG:1809 85 32 + rts ; CPU:$D80B PRG:180B 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsExit: + ldx Zp89 ; CPU:$D80C PRG:180C A6 89 + lda Zp35 ; CPU:$D80E PRG:180E A5 35 + cmp #$18 ; CPU:$D810 PRG:1810 C9 18 + bne UpdatePlayerPositionsEntry ; CPU:$D812 PRG:1812 D0 11 + jsr $E21E ; CPU:$D814 PRG:1814 20 1E E2 + lda Zp2B,x ; CPU:$D817 PRG:1817 B5 2B + beq UpdatePlayerPositionsStxZp31 ; CPU:$D819 PRG:1819 F0 0D + and #$0F ; CPU:$D81B PRG:181B 29 0F + bne UpdatePlayerPositionsEntry ; CPU:$D81D PRG:181D D0 06 + lda #$08 ; CPU:$D81F PRG:181F A9 08 + eor Zp34 ; CPU:$D821 PRG:1821 45 34 + sta Zp34 ; CPU:$D823 PRG:1823 85 34 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsEntry: + jmp $D2AF ; CPU:$D825 PRG:1825 4C AF D2 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsStxZp31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsStxZp31: + lda Zp89 ; CPU:$D828 PRG:1828 A5 89 + asl a ; CPU:$D82A PRG:182A 0A + asl a ; CPU:$D82B PRG:182B 0A + asl a ; CPU:$D82C PRG:182C 0A + sta Zp34 ; CPU:$D82D PRG:182D 85 34 + ldy #$00 ; CPU:$D82F PRG:182F A0 00 + jmp $D2A5 ; CPU:$D831 PRG:1831 4C A5 D2 +; ---- data $D834-$DA24 (497 bytes) ---- + .byte $A5, $84, $C9, $03, $D0, $08, $AD, $2F, $02, $38, $E5, $33, $F0, $03, $4C, $B2 ; CPU:$D834 PRG:1834 A5 84 C9 03 D0 08 AD 2F 02 38 E5 33 F0 03 4C B2 + .byte $D2, $A9, $04, $85, $84, $A9, $01, $85, $90, $A9, $97, $8D, $40, $02, $8D, $44 ; CPU:$D844 PRG:1844 D2 A9 04 85 84 A9 01 85 90 A9 97 8D 40 02 8D 44 + .byte $02, $A9, $9F, $8D, $48, $02, $8D, $4C, $02, $A9, $A3, $85, $4A, $A9, $00, $85 ; CPU:$D854 PRG:1854 02 A9 9F 8D 48 02 8D 4C 02 A9 A3 85 4A A9 00 85 + .byte $49, $A9, $1D, $85, $35, $A9, $7B, $85, $32, $A9, $60, $85, $45, $E6, $31, $D0 ; CPU:$D864 PRG:1864 49 A9 1D 85 35 A9 7B 85 32 A9 60 85 45 E6 31 D0 + .byte $CD, $A5, $45, $F0, $05, $C6, $45, $4C, $B2, $D2, $20, $0E, $E4, $C9, $FF, $D0 ; CPU:$D874 PRG:1874 CD A5 45 F0 05 C6 45 4C B2 D2 20 0E E4 C9 FF D0 + .byte $20, $A9, $03, $85, $84, $20, $59, $E4, $A9, $10, $9D, $01, $03, $20, $05, $DB ; CPU:$D884 PRG:1884 20 A9 03 85 84 20 59 E4 A9 10 9D 01 03 20 05 DB + .byte $A5, $89, $0A, $0A, $0A, $85, $34, $A9, $00, $85, $31, $85, $32, $85, $33, $F0 ; CPU:$D894 PRG:1894 A5 89 0A 0A 0A 85 34 A9 00 85 31 85 32 85 33 F0 + .byte $0C, $A5, $2A, $29, $0F, $D0, $06, $A9, $08, $45, $34, $85, $34, $4C, $B2, $D2 ; CPU:$D8A4 PRG:18A4 0C A5 2A 29 0F D0 06 A9 08 45 34 85 34 4C B2 D2 + .byte $A5, $33, $38, $A6, $89, $D0, $06, $E9, $58, $90, $0D, $B0, $04, $E9, $B0, $B0 ; CPU:$D8B4 PRG:18B4 A5 33 38 A6 89 D0 06 E9 58 90 0D B0 04 E9 B0 B0 + .byte $07, $A0, $0B, $84, $4F, $4C, $A9, $D2, $A9, $15, $85, $35, $A5, $84, $C9, $01 ; CPU:$D8C4 PRG:18C4 07 A0 0B 84 4F 4C A9 D2 A9 15 85 35 A5 84 C9 01 + .byte $D0, $11, $20, $59, $E4, $A9, $0A, $9D, $01, $03, $A9, $20, $9D, $15, $03, $A9 ; CPU:$D8D4 PRG:18D4 D0 11 20 59 E4 A9 0A 9D 01 03 A9 20 9D 15 03 A9 + .byte $00, $85, $31, $4C, $B2, $D2, $A2, $18, $DE, $40, $02, $CA, $CA, $CA, $CA, $10 ; CPU:$D8E4 PRG:18E4 00 85 31 4C B2 D2 A2 18 DE 40 02 CA CA CA CA 10 + .byte $F7, $AD, $44, $02, $C9, $2F, $D0, $17, $E6, $31, $20, $F3, $E7, $20, $AC, $DD ; CPU:$D8F4 PRG:18F4 F7 AD 44 02 C9 2F D0 17 E6 31 20 F3 E7 20 AC DD + .byte $20, $59, $E4, $A9, $7B, $85, $32, $A9, $1C, $85, $35, $A9, $30, $85, $2D, $4C ; CPU:$D904 PRG:1904 20 59 E4 A9 7B 85 32 A9 1C 85 35 A9 30 85 2D 4C + .byte $B2, $D2, $A5, $2D, $F0, $59, $A5, $2B, $D0, $0A, $A9, $30, $85, $2B, $A9, $08 ; CPU:$D914 PRG:1914 B2 D2 A5 2D F0 59 A5 2B D0 0A A9 30 85 2B A9 08 + .byte $45, $34, $85, $34, $A5, $2C, $D0, $41, $A9, $10, $85, $2C, $AD, $45, $02, $49 ; CPU:$D924 PRG:1924 45 34 85 34 A5 2C D0 41 A9 10 85 2C AD 45 02 49 + .byte $03, $8D, $45, $02, $AD, $49, $02, $49, $03, $8D, $49, $02, $A6, $91, $A4, $92 ; CPU:$D934 PRG:1934 03 8D 45 02 AD 49 02 49 03 8D 49 02 A6 91 A4 92 + .byte $BD, $E8, $F8, $C9, $FE, $F0, $1E, $C9, $FF, $F0, $19, $18, $6D, $60, $02, $99 ; CPU:$D944 PRG:1944 BD E8 F8 C9 FE F0 1E C9 FF F0 19 18 6D 60 02 99 + .byte $60, $02, $E8, $BD, $E8, $F8, $18, $6D, $63, $02, $99, $63, $02, $E8, $C8, $C8 ; CPU:$D954 PRG:1954 60 02 E8 BD E8 F8 18 6D 63 02 99 63 02 E8 C8 C8 + .byte $C8, $C8, $D0, $DC, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $A9 ; CPU:$D964 PRG:1964 C8 C8 D0 DC E8 86 91 84 92 20 D1 DD 4C B2 D2 A9 + .byte $00, $85, $91, $85, $92, $E6, $31, $D0, $F3, $AD, $44, $02, $C9, $48, $F0, $0B ; CPU:$D974 PRG:1974 00 85 91 85 92 E6 31 D0 F3 AD 44 02 C9 48 F0 0B + .byte $A2, $18, $FE, $40, $02, $CA, $CA, $CA, $CA, $10, $F7, $A5, $2C, $D0, $2B, $A9 ; CPU:$D984 PRG:1984 A2 18 FE 40 02 CA CA CA CA 10 F7 A5 2C D0 2B A9 + .byte $10, $85, $2C, $A6, $91, $A4, $92, $BD, $E8, $F8, $C9, $FE, $F0, $22, $C9, $FF ; CPU:$D994 PRG:1994 10 85 2C A6 91 A4 92 BD E8 F8 C9 FE F0 22 C9 FF + .byte $F0, $10, $A9, $00, $99, $60, $02, $E8, $99, $63, $02, $E8, $C8, $C8, $C8, $C8 ; CPU:$D9A4 PRG:19A4 F0 10 A9 00 99 60 02 E8 99 63 02 E8 C8 C8 C8 C8 + .byte $D0, $E5, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $4C, $22, $DA ; CPU:$D9B4 PRG:19B4 D0 E5 E8 86 91 84 92 20 D1 DD 4C B2 D2 4C 22 DA + .byte $A5, $1F, $D0, $F9, $A5, $89, $F0, $43, $A9, $03, $8D, $09, $03, $85, $A0, $8D ; CPU:$D9C4 PRG:19C4 A5 1F D0 F9 A5 89 F0 43 A9 03 8D 09 03 85 A0 8D + .byte $01, $05, $A9, $11, $8D, $00, $05, $A0, $23, $A2, $1A, $20, $8E, $D0, $A2, $1A ; CPU:$D9D4 PRG:19D4 01 05 A9 11 8D 00 05 A0 23 A2 1A 20 8E D0 A2 1A + .byte $A0, $27, $20, $8E, $D0, $20, $D9, $DA, $A5, $71, $C9, $19, $F0, $02, $E6, $71 ; CPU:$D9E4 PRG:19E4 A0 27 20 8E D0 20 D9 DA A5 71 C9 19 F0 02 E6 71 + .byte $A9, $15, $85, $35, $A9, $01, $8D, $15, $03, $8D, $00, $03, $8D, $40, $03, $A9 ; CPU:$D9F4 PRG:19F4 A9 15 85 35 A9 01 8D 15 03 8D 00 03 8D 40 03 A9 + .byte $00, $85, $93, $A9, $0A, $8D, $01, $03, $4C, $B2, $D2, $A2, $00, $B5, $A4, $38 ; CPU:$DA04 PRG:1A04 00 85 93 A9 0A 8D 01 03 4C B2 D2 A2 00 B5 A4 38 + .byte $F5, $94, $F0, $1C, $B0, $08, $A5, $94, $85, $A4, $A5, $95, $85, $A5, $20, $DF ; CPU:$DA14 PRG:1A14 F5 94 F0 1C B0 08 A5 94 85 A4 A5 95 85 A5 20 DF + .byte $E7 ; CPU:$DA24 PRG:1A24 E7 +; ----------------------------------------------------------------------------- +; Routine: TitleScreenSetMode +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +TitleScreenSetMode: + lda #$01 ; CPU:$DA25 PRG:1A25 A9 01 + sta Zp24 ; CPU:$DA27 PRG:1A27 85 24 + lda #$00 ; CPU:$DA29 PRG:1A29 A9 00 + sta Zp26 ; CPU:$DA2B PRG:1A2B 85 26 + lda Zp08 ; CPU:$DA2D PRG:1A2D A5 08 + and #$FE ; CPU:$DA2F PRG:1A2F 29 FE + sta Zp08 ; CPU:$DA31 PRG:1A31 85 08 + rts ; CPU:$DA33 PRG:1A33 60 +; ---- data $DA34-$DAA6 (115 bytes) ---- + .byte $E0, $01, $F0, $EA, $E8, $D0, $D6, $A9, $45, $8D, $00, $05, $E0, $00, $D0, $31 ; CPU:$DA34 PRG:1A34 E0 01 F0 EA E8 D0 D6 A9 45 8D 00 05 E0 00 D0 31 + .byte $AD, $09, $03, $C9, $01, $D0, $5B, $A2, $00, $A0, $01, $BD, $47, $F7, $C9, $FF ; CPU:$DA44 PRG:1A44 AD 09 03 C9 01 D0 5B A2 00 A0 01 BD 47 F7 C9 FF + .byte $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $1B, $A0, $22, $20, $A7, $DA ; CPU:$DA54 PRG:1A54 F0 07 99 00 05 E8 C8 D0 F2 A2 1B A0 22 20 A7 DA + .byte $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E7, $A0, $23, $4C, $A7 ; CPU:$DA64 PRG:1A64 A9 A5 8D 01 05 A9 11 8D 00 05 A2 E7 A0 23 4C A7 + .byte $DA, $AD, $29, $03, $C9, $01, $D0, $2A, $A2, $00, $A0, $01, $BD, $5C, $F7, $C9 ; CPU:$DA74 PRG:1A74 DA AD 29 03 C9 01 D0 2A A2 00 A0 01 BD 5C F7 C9 + .byte $FF, $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $00, $A0, $22, $20, $A7 ; CPU:$DA84 PRG:1A84 FF F0 07 99 00 05 E8 C8 D0 F2 A2 00 A0 22 20 A7 + .byte $DA, $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E0, $A0, $23, $20 ; CPU:$DA94 PRG:1A94 DA A9 A5 8D 01 05 A9 11 8D 00 05 A2 E0 A0 23 20 + .byte $A7, $DA, $60 ; CPU:$DAA4 PRG:1AA4 A7 DA 60 +; ----------------------------------------------------------------------------- +; Routine: CheckCollisions +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckCollisions: + lda Zp08 ; CPU:$DAA7 PRG:1AA7 A5 08 + eor Zp8A ; CPU:$DAA9 PRG:1AA9 45 8A + and #$01 ; CPU:$DAAB PRG:1AAB 29 01 + bne SpriteDMACheckZp96 ; CPU:$DAAD PRG:1AAD D0 04 + iny ; CPU:$DAAF PRG:1AAF C8 + iny ; CPU:$DAB0 PRG:1AB0 C8 + iny ; CPU:$DAB1 PRG:1AB1 C8 + iny ; CPU:$DAB2 PRG:1AB2 C8 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACheckZp96 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACheckZp96: + jsr $D08E ; CPU:$DAB3 PRG:1AB3 20 8E D0 + rts ; CPU:$DAB6 PRG:1AB6 60 +; ---- data $DAB7-$DB47 (145 bytes) ---- + .byte $A9, $98, $A2, $00, $A0, $08, $84, $00, $9D, $00, $02, $E8, $E8, $E8, $A8, $A9 ; CPU:$DAB7 PRG:1AB7 A9 98 A2 00 A0 08 84 00 9D 00 02 E8 E8 E8 A8 A9 + .byte $00, $9D, $00, $02, $98, $E8, $C6, $00, $D0, $EE, $18, $69, $08, $E0, $60, $D0 ; CPU:$DAC7 PRG:1AC7 00 9D 00 02 98 E8 C6 00 D0 EE 18 69 08 E0 60 D0 + .byte $E3, $60, $A5, $A0, $F0, $FB, $A9, $32, $A2, $14, $9D, $00, $05, $CA, $D0, $FA ; CPU:$DAD7 PRG:1AD7 E3 60 A5 A0 F0 FB A9 32 A2 14 9D 00 05 CA D0 FA + .byte $A9, $4C, $8D, $01, $05, $A9, $4E, $8D, $06, $05, $A9, $45, $8D, $00, $05, $A2 ; CPU:$DAE7 PRG:1AE7 A9 4C 8D 01 05 A9 4E 8D 06 05 A9 45 8D 00 05 A2 + .byte $1B, $A0, $22, $A5, $85, $29, $01, $F0, $02, $A0, $26, $4C, $8E, $D0, $A5, $39 ; CPU:$DAF7 PRG:1AF7 1B A0 22 A5 85 29 01 F0 02 A0 26 4C 8E D0 A5 39 + .byte $F0, $04, $C6, $39, $A5, $39, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A0, $23 ; CPU:$DB07 PRG:1B07 F0 04 C6 39 A5 39 8D 01 05 A9 11 8D 00 05 A0 23 + .byte $A5, $1F, $D0, $18, $A2, $3A, $A5, $89, $D0, $1A, $E6, $95, $A5, $95, $C9, $0A ; CPU:$DB17 PRG:1B17 A5 1F D0 18 A2 3A A5 89 D0 1A E6 95 A5 95 C9 0A + .byte $D0, $06, $E6, $94, $A9, $00, $85, $95, $A2, $1A, $D0, $08, $A2, $47, $A5, $89 ; CPU:$DB27 PRG:1B27 D0 06 E6 94 A9 00 85 95 A2 1A D0 08 A2 47 A5 89 + .byte $D0, $02, $A2, $5B, $86, $0C, $20, $8E, $D0, $A6, $0C, $A0, $27, $20, $8E, $D0 ; CPU:$DB37 PRG:1B37 D0 02 A2 5B 86 0C 20 8E D0 A6 0C A0 27 20 8E D0 + .byte $60 ; CPU:$DB47 PRG:1B47 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACheckZp96_DB48 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACheckZp96_DB48: + lda Zp96 ; CPU:$DB48 PRG:1B48 A5 96 + beq SpriteDMABeqDB91 ; CPU:$DB4A PRG:1B4A F0 45 + cmp #$02 ; CPU:$DB4C PRG:1B4C C9 02 + beq SpriteDMACmp02 ; CPU:$DB4E PRG:1B4E F0 07 + cmp #$01 ; CPU:$DB50 PRG:1B50 C9 01 + beq SpriteDMALdy0A ; CPU:$DB52 PRG:1B52 F0 3E + dec Zp96 ; CPU:$DB54 PRG:1B54 C6 96 + rts ; CPU:$DB56 PRG:1B56 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACmp02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACmp02: + dec Zp96 ; CPU:$DB57 PRG:1B57 C6 96 + lda #$80 ; CPU:$DB59 PRG:1B59 A9 80 + sta Zp97 ; CPU:$DB5B PRG:1B5B 85 97 + lda Zp94 ; CPU:$DB5D PRG:1B5D A5 94 + sta $0501 ; CPU:$DB5F PRG:1B5F 8D 01 05 + lda Zp95 ; CPU:$DB62 PRG:1B62 A5 95 + sta $0502 ; CPU:$DB64 PRG:1B64 8D 02 05 + lda #$12 ; CPU:$DB67 PRG:1B67 A9 12 + sta $0500 ; CPU:$DB69 PRG:1B69 8D 00 05 + ldx #$DC ; CPU:$DB6C PRG:1B6C A2 DC + ldy #$22 ; CPU:$DB6E PRG:1B6E A0 22 + jsr $D08E ; CPU:$DB70 PRG:1B70 20 8E D0 + ldx #$DC ; CPU:$DB73 PRG:1B73 A2 DC + ldy #$26 ; CPU:$DB75 PRG:1B75 A0 26 + jsr $D08E ; CPU:$DB77 PRG:1B77 20 8E D0 + jsr $DBA6 ; CPU:$DB7A PRG:1B7A 20 A6 DB +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALoopEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALoopEntry: + lda #$1A ; CPU:$DB7D PRG:1B7D A9 1A + sta $0500 ; CPU:$DB7F PRG:1B7F 8D 00 05 + ldx #$6B ; CPU:$DB82 PRG:1B82 A2 6B + ldy #$22 ; CPU:$DB84 PRG:1B84 A0 22 + lda Zp85 ; CPU:$DB86 PRG:1B86 A5 85 + and #$01 ; CPU:$DB88 PRG:1B88 29 01 + bne SpriteDMALdx0A ; CPU:$DB8A PRG:1B8A D0 02 + ldy #$26 ; CPU:$DB8C PRG:1B8C A0 26 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALdx0A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALdx0A: + jmp $D08E ; CPU:$DB8E PRG:1B8E 4C 8E D0 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMABeqDB91 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMABeqDB91: + rts ; CPU:$DB91 PRG:1B91 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALdy0A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALdy0A: + dec Zp97 ; CPU:$DB92 PRG:1B92 C6 97 + bne SpriteDMABeqDB91 ; CPU:$DB94 PRG:1B94 D0 FB + lda #$00 ; CPU:$DB96 PRG:1B96 A9 00 + sta Zp96 ; CPU:$DB98 PRG:1B98 85 96 + lda #$32 ; CPU:$DB9A PRG:1B9A A9 32 + ldx #$0A ; CPU:$DB9C PRG:1B9C A2 0A +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALdaF940 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALdaF940: + sta $0500,x ; CPU:$DB9E PRG:1B9E 9D 00 05 + dex ; CPU:$DBA1 PRG:1BA1 CA + bne SpriteDMALdaF940 ; CPU:$DBA2 PRG:1BA2 D0 FA + beq SpriteDMALoopEntry ; CPU:$DBA4 PRG:1BA4 F0 D7 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALoop_DBA6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALoop_DBA6: + ldx #$0A ; CPU:$DBA6 PRG:1BA6 A2 0A + ldy #$0A ; CPU:$DBA8 PRG:1BA8 A0 0A +; ----------------------------------------------------------------------------- +; Routine: SpriteDMADex +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMADex: + lda $F940,y ; CPU:$DBAA PRG:1BAA B9 40 F9 + sta $0500,x ; CPU:$DBAD PRG:1BAD 9D 00 05 + dey ; CPU:$DBB0 PRG:1BB0 88 + dex ; CPU:$DBB1 PRG:1BB1 CA + bne SpriteDMADex ; CPU:$DBB2 PRG:1BB2 D0 F6 + lda Zp94 ; CPU:$DBB4 PRG:1BB4 A5 94 + sta $0508 ; CPU:$DBB6 PRG:1BB6 8D 08 05 + lda Zp95 ; CPU:$DBB9 PRG:1BB9 A5 95 + sta $0509 ; CPU:$DBBB PRG:1BBB 8D 09 05 + rts ; CPU:$DBBE PRG:1BBE 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACheckZp93 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACheckZp93: + lda Zp93 ; CPU:$DBBF PRG:1BBF A5 93 + bne SpriteDMACallDD8C ; CPU:$DBC1 PRG:1BC1 D0 2C + jsr $DD8C ; CPU:$DBC3 PRG:1BC3 20 8C DD + lda Zp84 ; CPU:$DBC6 PRG:1BC6 A5 84 + jsr $CDE0 ; CPU:$DBC8 PRG:1BC8 20 E0 CD + ora $D5D0,y ; CPU:$DBCB PRG:1BCB 19 D0 D5 +; ---- data $DBCE-$DBDC (15 bytes) ---- + .byte $DB, $FD, $DB, $A1, $DC, $F6, $DC, $A5, $80, $0A, $0A, $0A, $0A, $85, $00 ; CPU:$DBCE PRG:1BCE DB FD DB A1 DC F6 DC A5 80 0A 0A 0A 0A 85 00 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACallCDE0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACallCDE0: + lda Zp81 ; CPU:$DBDD PRG:1BDD A5 81 + and #$0F ; CPU:$DBDF PRG:1BDF 29 0F + ora Zp00 ; CPU:$DBE1 PRG:1BE1 05 00 + cmp #$20 ; CPU:$DBE3 PRG:1BE3 C9 20 + beq SpriteDMARTS ; CPU:$DBE5 PRG:1BE5 F0 09 + cmp #$50 ; CPU:$DBE7 PRG:1BE7 C9 50 + beq SpriteDMARTS ; CPU:$DBE9 PRG:1BE9 F0 05 + cmp #$70 ; CPU:$DBEB PRG:1BEB C9 70 + beq SpriteDMARTS ; CPU:$DBED PRG:1BED F0 01 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACallDD8C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACallDD8C: + rts ; CPU:$DBEF PRG:1BEF 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMARTS +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMARTS: + lda $05EC ; CPU:$DBF0 PRG:1BF0 AD EC 05 + and #$7F ; CPU:$DBF3 PRG:1BF3 29 7F + bne SpriteDMACallDD8C ; CPU:$DBF5 PRG:1BF5 D0 F8 + jsr $E80C ; CPU:$DBF7 PRG:1BF7 20 0C E8 + inc Zp84 ; CPU:$DBFA PRG:1BFA E6 84 + rts ; CPU:$DBFC PRG:1BFC 60 +; ---- data $DBFD-$DCF5 (249 bytes) ---- + .byte $A9, $AB, $85, $00, $A2, $00, $BD, $07, $02, $C9, $FF, $F0, $0A, $E8, $E8, $E8 ; CPU:$DBFD PRG:1BFD A9 AB 85 00 A2 00 BD 07 02 C9 FF F0 0A E8 E8 E8 + .byte $E8, $E0, $3C, $D0, $F1, $F0, $6A, $BD, $04, $02, $18, $65, $00, $9D, $04, $02 ; CPU:$DC0D PRG:1C0D E8 E0 3C D0 F1 F0 6A BD 04 02 18 65 00 9D 04 02 + .byte $A5, $00, $38, $E9, $08, $85, $00, $E0, $38, $D0, $E2, $AD, $01, $03, $C9, $0B ; CPU:$DC1D PRG:1C1D A5 00 38 E9 08 85 00 E0 38 D0 E2 AD 01 03 C9 0B + .byte $D0, $08, $20, $D0, $DC, $A9, $01, $85, $84, $60, $E6, $84, $A5, $82, $F0, $41 ; CPU:$DC2D PRG:1C2D D0 08 20 D0 DC A9 01 85 84 60 E6 84 A5 82 F0 41 + .byte $A2, $0E, $A0, $00, $AD, $03, $03, $38, $E9, $7F, $90, $15, $85, $00, $A9, $7F ; CPU:$DC3D PRG:1C3D A2 0E A0 00 AD 03 03 38 E9 7F 90 15 85 00 A9 7F + .byte $38, $ED, $23, $03, $90, $07, $38, $E5, $00, $F0, $2A, $B0, $04, $A2, $00, $A0 ; CPU:$DC4D PRG:1C4D 38 ED 23 03 90 07 38 E5 00 F0 2A B0 04 A2 00 A0 + .byte $0E, $8E, $21, $03, $8C, $01, $03, $A9, $15, $8D, $05, $03, $8D, $25, $03, $A9 ; CPU:$DC5D PRG:1C5D 0E 8E 21 03 8C 01 03 A9 15 8D 05 03 8D 25 03 A9 + .byte $7B, $8D, $02, $03, $8D, $22, $03, $A9, $00, $8D, $04, $03, $A9, $08, $8D, $24 ; CPU:$DC6D PRG:1C6D 7B 8D 02 03 8D 22 03 A9 00 8D 04 03 A9 08 8D 24 + .byte $03, $20, $7D, $DD, $60, $38, $A5, $C5, $E5, $C9, $F0, $04, $B0, $D3, $90, $CD ; CPU:$DC7D PRG:1C7D 03 20 7D DD 60 38 A5 C5 E5 C9 F0 04 B0 D3 90 CD + .byte $A5, $C6, $38, $E5, $CA, $F0, $04, $B0, $C8, $90, $C2, $AD, $EC, $05, $29, $01 ; CPU:$DC8D PRG:1C8D A5 C6 38 E5 CA F0 04 B0 C8 90 C2 AD EC 05 29 01 + .byte $F0, $BF, $D0, $B9, $A2, $00, $BD, $07, $02, $C9, $00, $F0, $14, $E8, $E8, $E8 ; CPU:$DC9D PRG:1C9D F0 BF D0 B9 A2 00 BD 07 02 C9 00 F0 14 E8 E8 E8 + .byte $E8, $E0, $3C, $D0, $F1, $AD, $07, $02, $C9, $47, $D0, $C5, $20, $D2, $E7, $D0 ; CPU:$DCAD PRG:1CAD E8 E0 3C D0 F1 AD 07 02 C9 47 D0 C5 20 D2 E7 D0 + .byte $C0, $A9, $F4, $9D, $04, $02, $E0, $38, $D0, $E3, $20, $7D, $DD, $A9, $01, $85 ; CPU:$DCBD PRG:1CBD C0 A9 F4 9D 04 02 E0 38 D0 E3 20 7D DD A9 01 85 + .byte $84, $D0, $AE, $A0, $00, $A2, $00, $B9, $FA, $F6, $C9, $2F, $F0, $07, $9D, $04 ; CPU:$DCCD PRG:1CCD 84 D0 AE A0 00 A2 00 B9 FA F6 C9 2F F0 07 9D 04 + .byte $02, $E8, $C8, $D0, $F2, $60, $A0, $00, $A2, $00, $B9, $F6, $F6, $C9, $2F, $F0 ; CPU:$DCDD PRG:1CDD 02 E8 C8 D0 F2 60 A0 00 A2 00 B9 F6 F6 C9 2F F0 + .byte $07, $9D, $00, $02, $E8, $C8, $D0, $F2, $60 ; CPU:$DCED PRG:1CED 07 9D 00 02 E8 C8 D0 F2 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersEntry: + jsr $DD00 ; CPU:$DCF6 PRG:1CF6 20 00 DD + lda Zp90 ; CPU:$DCF9 PRG:1CF9 A5 90 + bne UpdateTimersBeqDD33 ; CPU:$DCFB PRG:1CFB D0 02 + sta Zp84 ; CPU:$DCFD PRG:1CFD 85 84 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersBeqDD33 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersBeqDD33: + rts ; CPU:$DCFF PRG:1CFF 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersCmp02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersCmp02: + lda Zp90 ; CPU:$DD00 PRG:1D00 A5 90 + beq UpdateTimersBeqDD33Alt ; CPU:$DD02 PRG:1D02 F0 2F + cmp #$02 ; CPU:$DD04 PRG:1D04 C9 02 + beq UpdateTimersCmp02Alt ; CPU:$DD06 PRG:1D06 F0 33 + dec $0240 ; CPU:$DD08 PRG:1D08 CE 40 02 + dec $0244 ; CPU:$DD0B PRG:1D0B CE 44 02 + dec $0248 ; CPU:$DD0E PRG:1D0E CE 48 02 + dec $024C ; CPU:$DD11 PRG:1D11 CE 4C 02 + dec $0243 ; CPU:$DD14 PRG:1D14 CE 43 02 + dec $0247 ; CPU:$DD17 PRG:1D17 CE 47 02 + dec $024B ; CPU:$DD1A PRG:1D1A CE 4B 02 + dec $024F ; CPU:$DD1D PRG:1D1D CE 4F 02 + dec $0243 ; CPU:$DD20 PRG:1D20 CE 43 02 + dec $0247 ; CPU:$DD23 PRG:1D23 CE 47 02 + dec $024B ; CPU:$DD26 PRG:1D26 CE 4B 02 + dec $024F ; CPU:$DD29 PRG:1D29 CE 4F 02 + lda $0240 ; CPU:$DD2C PRG:1D2C AD 40 02 + cmp #$8F ; CPU:$DD2F PRG:1D2F C9 8F + beq UpdateTimersBeqDD34 ; CPU:$DD31 PRG:1D31 F0 01 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersBeqDD33Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersBeqDD33Alt: + rts ; CPU:$DD33 PRG:1D33 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersBeqDD34 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersBeqDD34: + lda #$06 ; CPU:$DD34 PRG:1D34 A9 06 + sta Zp2E ; CPU:$DD36 PRG:1D36 85 2E + inc Zp90 ; CPU:$DD38 PRG:1D38 E6 90 + rts ; CPU:$DD3A PRG:1D3A 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersCmp02Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersCmp02Alt: + lda Zp2E ; CPU:$DD3B PRG:1D3B A5 2E + bne UpdateTimersBeqDD33Alt ; CPU:$DD3D PRG:1D3D D0 F4 + inc $0240 ; CPU:$DD3F PRG:1D3F EE 40 02 + inc $0244 ; CPU:$DD42 PRG:1D42 EE 44 02 + inc $0248 ; CPU:$DD45 PRG:1D45 EE 48 02 + inc $024C ; CPU:$DD48 PRG:1D48 EE 4C 02 + inc $0243 ; CPU:$DD4B PRG:1D4B EE 43 02 + inc $0247 ; CPU:$DD4E PRG:1D4E EE 47 02 + inc $024B ; CPU:$DD51 PRG:1D51 EE 4B 02 + inc $024F ; CPU:$DD54 PRG:1D54 EE 4F 02 + inc $0243 ; CPU:$DD57 PRG:1D57 EE 43 02 + inc $0247 ; CPU:$DD5A PRG:1D5A EE 47 02 + inc $024B ; CPU:$DD5D PRG:1D5D EE 4B 02 + inc $024F ; CPU:$DD60 PRG:1D60 EE 4F 02 + lda $0240 ; CPU:$DD63 PRG:1D63 AD 40 02 + cmp #$97 ; CPU:$DD66 PRG:1D66 C9 97 + bne UpdateTimersBeqDD33Alt ; CPU:$DD68 PRG:1D68 D0 C9 + lda #$F4 ; CPU:$DD6A PRG:1D6A A9 F4 + sta $0240 ; CPU:$DD6C PRG:1D6C 8D 40 02 + sta $0244 ; CPU:$DD6F PRG:1D6F 8D 44 02 + sta $0248 ; CPU:$DD72 PRG:1D72 8D 48 02 + sta $024C ; CPU:$DD75 PRG:1D75 8D 4C 02 + lda #$00 ; CPU:$DD78 PRG:1D78 A9 00 + sta Zp90 ; CPU:$DD7A PRG:1D7A 85 90 + rts ; CPU:$DD7C PRG:1D7C 60 +; ---- data $DD7D-$DD8B (15 bytes) ---- + .byte $A0, $13, $A2, $00, $DE, $07, $02, $E8, $E8, $E8, $E8, $88, $D0, $F6, $60 ; CPU:$DD7D PRG:1D7D A0 13 A2 00 DE 07 02 E8 E8 E8 E8 88 D0 F6 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersAnd1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersAnd1F: + lda Zp2A ; CPU:$DD8C PRG:1D8C A5 2A + and #$1F ; CPU:$DD8E PRG:1D8E 29 1F + bne UpdateTimersCallCDE0 ; CPU:$DD90 PRG:1D90 D0 19 + ldx #$00 ; CPU:$DD92 PRG:1D92 A2 00 + ldy #$02 ; CPU:$DD94 PRG:1D94 A0 02 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersBneDDAB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersBneDDAB: + lda $021D,x ; CPU:$DD96 PRG:1D96 BD 1D 02 + eor #$03 ; CPU:$DD99 PRG:1D99 49 03 + sta $021D,x ; CPU:$DD9B PRG:1D9B 9D 1D 02 + lda $021E,x ; CPU:$DD9E PRG:1D9E BD 1E 02 + eor #$40 ; CPU:$DDA1 PRG:1DA1 49 40 + sta $021E,x ; CPU:$DDA3 PRG:1DA3 9D 1E 02 + ldx #$0C ; CPU:$DDA6 PRG:1DA6 A2 0C + dey ; CPU:$DDA8 PRG:1DA8 88 + bne UpdateTimersBneDDAB ; CPU:$DDA9 PRG:1DA9 D0 EB +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersCallCDE0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersCallCDE0: + rts ; CPU:$DDAB PRG:1DAB 60 +; ---- data $DDAC-$DE02 (87 bytes) ---- + .byte $A2, $00, $A9, $00, $9D, $60, $02, $9D, $62, $02, $9D, $63, $02, $A9, $E8, $9D ; CPU:$DDAC PRG:1DAC A2 00 A9 00 9D 60 02 9D 62 02 9D 63 02 A9 E8 9D + .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E8, $A9, $32, $8D, $60, $02, $A9 ; CPU:$DDBC PRG:1DBC 61 02 E8 E8 E8 E8 E0 A0 D0 E8 A9 32 8D 60 02 A9 + .byte $A0, $8D, $63, $02, $60, $A5, $2A, $29, $7F, $D0, $1F, $A2, $00, $AC, $EC, $05 ; CPU:$DDCC PRG:1DCC A0 8D 63 02 60 A5 2A 29 7F D0 1F A2 00 AC EC 05 + .byte $98, $69, $75, $A8, $29, $C3, $9D, $62, $02, $A9, $E8, $90, $02, $A9, $E9, $9D ; CPU:$DDDC PRG:1DDC 98 69 75 A8 29 C3 9D 62 02 A9 E8 90 02 A9 E9 9D + .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E6, $60, $A2, $1B, $BD, $CC, $F8 ; CPU:$DDEC PRG:1DEC 61 02 E8 E8 E8 E8 E0 A0 D0 E6 60 A2 1B BD CC F8 + .byte $9D, $40, $02, $CA, $10, $F7, $60 ; CPU:$DDFC PRG:1DFC 9D 40 02 CA 10 F7 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessInputsExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessInputsExit: + lda Zp1F ; CPU:$DE03 PRG:1E03 A5 1F + bne ProcessInputsCheckZp1F ; CPU:$DE05 PRG:1E05 D0 2E + ldx Zp89 ; CPU:$DE07 PRG:1E07 A6 89 + cpx #$00 ; CPU:$DE09 PRG:1E09 E0 00 + bne ProcessInputsCheckZp1F ; CPU:$DE0B PRG:1E0B D0 28 + lda #$00 ; CPU:$DE0D PRG:1E0D A9 00 + sta Zp19 ; CPU:$DE0F PRG:1E0F 85 19 + lda Zp82 ; CPU:$DE11 PRG:1E11 A5 82 + beq ProcessInputsEntry ; CPU:$DE13 PRG:1E13 F0 07 + lda $0204 ; CPU:$DE15 PRG:1E15 AD 04 02 + cmp #$9F ; CPU:$DE18 PRG:1E18 C9 9F + beq ProcessInputsCheckZp1F ; CPU:$DE1A PRG:1E1A F0 19 +; ----------------------------------------------------------------------------- +; Routine: ProcessInputsEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessInputsEntry: + lda Zp40 ; CPU:$DE1C PRG:1E1C A5 40 + jsr $CDE0 ; CPU:$DE1E PRG:1E1E 20 E0 CD + ora $2CD0,y ; CPU:$DE21 PRG:1E21 19 D0 2C +; ---- data $DE24-$DE34 (17 bytes) ---- + .byte $DF, $36, $DE, $C9, $DE, $D8, $DE, $F0, $DE, $F4, $DE, $19, $DF, $A9, $06, $85 ; CPU:$DE24 PRG:1E24 DF 36 DE C9 DE D8 DE F0 DE F4 DE 19 DF A9 06 85 + .byte $40 ; CPU:$DE34 PRG:1E34 40 +; ----------------------------------------------------------------------------- +; Routine: ProcessInputsCheckZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessInputsCheckZp1F: + rts ; CPU:$DE35 PRG:1E35 60 +; ---- data $DE36-$DEC8 (147 bytes) ---- + .byte $A9, $01, $85, $40, $A5, $31, $C9, $01, $D0, $5A, $AD, $58, $02, $C9, $F4, $F0 ; CPU:$DE36 PRG:1E36 A9 01 85 40 A5 31 C9 01 D0 5A AD 58 02 C9 F4 F0 + .byte $1C, $C9, $5B, $90, $18, $AD, $5B, $02, $38, $E9, $04, $85, $00, $38, $A5, $33 ; CPU:$DE46 PRG:1E46 1C C9 5B 90 18 AD 5B 02 38 E9 04 85 00 38 A5 33 + .byte $E5, $00, $90, $09, $C9, $0E, $B0, $05, $A9, $07, $85, $40, $60, $A5, $88, $F0 ; CPU:$DE56 PRG:1E56 E5 00 90 09 C9 0E B0 05 A9 07 85 40 60 A5 88 F0 + .byte $CA, $AD, $21, $03, $C9, $0D, $F0, $5F, $C9, $08, $B0, $C3, $AE, $EC, $05, $A4 ; CPU:$DE66 PRG:1E66 CA AD 21 03 C9 0D F0 5F C9 08 B0 C3 AE EC 05 A4 + .byte $8F, $C0, $03, $B0, $00, $C9, $03, $D0, $37, $AD, $4C, $03, $F0, $07, $8A, $A0 ; CPU:$DE76 PRG:1E76 8F C0 03 B0 00 C9 03 D0 37 AD 4C 03 F0 07 8A A0 + .byte $80, $29, $07, $F0, $0C, $20, $96, $DF, $A0, $01, $29, $07, $F0, $03, $4C, $6D ; CPU:$DE86 PRG:1E86 80 29 07 F0 0C 20 96 DF A0 01 29 07 F0 03 4C 6D + .byte $DF, $84, $19, $60, $C9, $06, $F0, $05, $C9, $02, $F0, $08, $60, $8A, $A0, $01 ; CPU:$DE96 PRG:1E96 DF 84 19 60 C9 06 F0 05 C9 02 F0 08 60 8A A0 01 + .byte $29, $0F, $F0, $ED, $20, $96, $DF, $A0, $80, $29, $3F, $F0, $E4, $4C, $6D, $DF ; CPU:$DEA6 PRG:1EA6 29 0F F0 ED 20 96 DF A0 80 29 3F F0 E4 4C 6D DF + .byte $8A, $A0, $05, $29, $01, $F0, $09, $20, $96, $DF, $29, $01, $D0, $D0, $A0, $03 ; CPU:$DEB6 PRG:1EB6 8A A0 05 29 01 F0 09 20 96 DF 29 01 D0 D0 A0 03 + .byte $84, $40, $60 ; CPU:$DEC6 PRG:1EC6 84 40 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundState +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundState: + lda #$01 ; CPU:$DEC9 PRG:1EC9 A9 01 + sta Zp19 ; CPU:$DECB PRG:1ECB 85 19 + lda ZpAC ; CPU:$DECD PRG:1ECD A5 AC + sta Zp8D ; CPU:$DECF PRG:1ECF 85 8D + ldx #$04 ; CPU:$DED1 PRG:1ED1 A2 04 + stx Zp40 ; CPU:$DED3 PRG:1ED3 86 40 + jmp $DF7A ; CPU:$DED5 PRG:1ED5 4C 7A DF +; ---- data $DED8-$DF4B (116 bytes) ---- + .byte $A5, $8D, $F0, $03, $C6, $8D, $60, $A0, $80, $AD, $EC, $05, $29, $01, $D0, $02 ; CPU:$DED8 PRG:1ED8 A5 8D F0 03 C6 8D 60 A0 80 AD EC 05 29 01 D0 02 + .byte $A0, $40, $A9, $01, $85, $40, $D0, $A7, $A5, $AC, $D0, $DB, $A5, $88, $D0, $1D ; CPU:$DEE8 PRG:1EE8 A0 40 A9 01 85 40 D0 A7 A5 AC D0 DB A5 88 D0 1D + .byte $AD, $58, $02, $C9, $F4, $F0, $12, $C9, $5B, $90, $0E, $A5, $33, $38, $ED, $5B ; CPU:$DEF8 PRG:1EF8 AD 58 02 C9 F4 F0 12 C9 5B 90 0E A5 33 38 ED 5B + .byte $02, $90, $06, $C9, $15, $B0, $02, $90, $04, $A0, $02, $D0, $82, $A0, $00, $F0 ; CPU:$DF08 PRG:1F08 02 90 06 C9 15 B0 02 90 04 A0 02 D0 82 A0 00 F0 + .byte $D1, $A5, $3A, $D0, $0B, $A5, $35, $C9, $01, $F0, $F2, $A0, $01, $4C, $97, $DE ; CPU:$DF18 PRG:1F18 D1 A5 3A D0 0B A5 35 C9 01 F0 F2 A0 01 4C 97 DE + .byte $A0, $01, $D0, $BE, $A6, $71, $E0, $02, $B0, $10, $A5, $33, $C9, $67, $B0, $0A ; CPU:$DF28 PRG:1F28 A0 01 D0 BE A6 71 E0 02 B0 10 A5 33 C9 67 B0 0A + .byte $A9, $00, $E0, $00, $F0, $02, $A9, $01, $85, $8F, $A5, $8E, $F0, $16, $A6, $8F ; CPU:$DF38 PRG:1F38 A9 00 E0 00 F0 02 A9 01 85 8F A5 8E F0 16 A6 8F + .byte $E0, $02, $90, $0A ; CPU:$DF48 PRG:1F48 E0 02 90 0A +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundStateAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundStateAlt: + and #$07 ; CPU:$DF4C PRG:1F4C 29 07 + bne HandleKOEntry ; CPU:$DF4E PRG:1F4E D0 03 + jsr $DF9E ; CPU:$DF50 PRG:1F50 20 9E DF +; ----------------------------------------------------------------------------- +; Routine: HandleKOEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOEntry: + dec Zp8E ; CPU:$DF53 PRG:1F53 C6 8E + rts ; CPU:$DF55 PRG:1F55 60 +; ---- data $DF56-$DF73 (30 bytes) ---- + .byte $29, $0F, $D0, $F9, $F0, $F4, $A5, $8F, $0A, $AA, $BD, $EA, $DF, $85, $8E, $BD ; CPU:$DF56 PRG:1F56 29 0F D0 F9 F0 F4 A5 8F 0A AA BD EA DF 85 8E BD + .byte $EB, $DF, $85, $AC, $E6, $40, $60, $A9, $04, $AC, $34, $03, $D0, $01 ; CPU:$DF66 PRG:1F66 EB DF 85 AC E6 40 60 A9 04 AC 34 03 D0 01 +; ----------------------------------------------------------------------------- +; Routine: HandleKOLda05EC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOLda05EC: + asl a ; CPU:$DF74 PRG:1F74 0A +; ----------------------------------------------------------------------------- +; Routine: HandleKOAnd07 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOAnd07: + ora Zp19 ; CPU:$DF75 PRG:1F75 05 19 + sta Zp19 ; CPU:$DF77 PRG:1F77 85 19 + rts ; CPU:$DF79 PRG:1F79 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOLoop: + lda $05EC ; CPU:$DF7A PRG:1F7A AD EC 05 + sta Zp00 ; CPU:$DF7D PRG:1F7D 85 00 + and #$07 ; CPU:$DF7F PRG:1F7F 29 07 + bne HandleKOCmp07 ; CPU:$DF81 PRG:1F81 D0 0A + lda #$04 ; CPU:$DF83 PRG:1F83 A9 04 + lsr Zp00 ; CPU:$DF85 PRG:1F85 46 00 + bcc HandleKOAnd07 ; CPU:$DF87 PRG:1F87 90 EC + lda #$08 ; CPU:$DF89 PRG:1F89 A9 08 + bne HandleKOAnd07 ; CPU:$DF8B PRG:1F8B D0 E8 +; ----------------------------------------------------------------------------- +; Routine: HandleKOCmp07 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOCmp07: + lda #$04 ; CPU:$DF8D PRG:1F8D A9 04 + ldy $0334 ; CPU:$DF8F PRG:1F8F AC 34 03 + beq HandleKOAnd07 ; CPU:$DF92 PRG:1F92 F0 E1 + bne HandleKOLda05EC ; CPU:$DF94 PRG:1F94 D0 DE + txa ; CPU:$DF96 PRG:1F96 8A + adc Zp4D ; CPU:$DF97 PRG:1F97 65 4D + sta $05EC ; CPU:$DF99 PRG:1F99 8D EC 05 + tax ; CPU:$DF9C PRG:1F9C AA + rts ; CPU:$DF9D PRG:1F9D 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOCheckZp88 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOCheckZp88: + lda Zp88 ; CPU:$DF9E PRG:1F9E A5 88 + beq HandleKOLda0321 ; CPU:$DFA0 PRG:1FA0 F0 15 + lda $0321 ; CPU:$DFA2 PRG:1FA2 AD 21 03 + cmp #$08 ; CPU:$DFA5 PRG:1FA5 C9 08 + beq HandleKOLda0321 ; CPU:$DFA7 PRG:1FA7 F0 0E + ldx $05EC ; CPU:$DFA9 PRG:1FA9 AE EC 05 + lda #$01 ; CPU:$DFAC PRG:1FAC A9 01 +; ----------------------------------------------------------------------------- +; Routine: HandleKOBeqDFB7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOBeqDFB7: + rol a ; CPU:$DFAE PRG:1FAE 2A + dex ; CPU:$DFAF PRG:1FAF CA + bne HandleKOBeqDFB7 ; CPU:$DFB0 PRG:1FB0 D0 FC + and #$CE ; CPU:$DFB2 PRG:1FB2 29 CE + sta Zp19 ; CPU:$DFB4 PRG:1FB4 85 19 + rts ; CPU:$DFB6 PRG:1FB6 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOLda0321 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOLda0321: + lda #$06 ; CPU:$DFB7 PRG:1FB7 A9 06 + sta Zp40 ; CPU:$DFB9 PRG:1FB9 85 40 + rts ; CPU:$DFBB PRG:1FBB 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOCheckZp1F_DFBC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOCheckZp1F_DFBC: + lda Zp1F ; CPU:$DFBC PRG:1FBC A5 1F + bne HandleKOCheckZp1F ; CPU:$DFBE PRG:1FBE D0 24 + lda $05EC ; CPU:$DFC0 PRG:1FC0 AD EC 05 + and #$01 ; CPU:$DFC3 PRG:1FC3 29 01 + bne HandleKOCheckZp1F ; CPU:$DFC5 PRG:1FC5 D0 1D + lda Zp71 ; CPU:$DFC7 PRG:1FC7 A5 71 + asl a ; CPU:$DFC9 PRG:1FC9 0A + tax ; CPU:$DFCA PRG:1FCA AA + lda $E00C,x ; CPU:$DFCB PRG:1FCB BD 0C E0 + sta Zp00 ; CPU:$DFCE PRG:1FCE 85 00 + lda $E00D,x ; CPU:$DFD0 PRG:1FD0 BD 0D E0 + sta Zp01 ; CPU:$DFD3 PRG:1FD3 85 01 + ldx $05EC ; CPU:$DFD5 PRG:1FD5 AE EC 05 + ldy Zp8F ; CPU:$DFD8 PRG:1FD8 A4 8F +; ----------------------------------------------------------------------------- +; Routine: HandleKODex +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKODex: + iny ; CPU:$DFDA PRG:1FDA C8 + cpy Zp01 ; CPU:$DFDB PRG:1FDB C4 01 + bcs HandleKOBeqDFE4 ; CPU:$DFDD PRG:1FDD B0 06 +; ----------------------------------------------------------------------------- +; Routine: HandleKODexBne +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKODexBne: + dex ; CPU:$DFDF PRG:1FDF CA + bne HandleKODex ; CPU:$DFE0 PRG:1FE0 D0 F8 + sty Zp8F ; CPU:$DFE2 PRG:1FE2 84 8F +; ----------------------------------------------------------------------------- +; Routine: HandleKOCheckZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOCheckZp1F: + rts ; CPU:$DFE4 PRG:1FE4 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOBeqDFE4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOBeqDFE4: + ldy Zp00 ; CPU:$DFE5 PRG:1FE5 A4 00 + jmp $DFDF ; CPU:$DFE7 PRG:1FE7 4C DF DF +; ---- data $DFEA-$E03F (86 bytes) ---- +; referenced by `lda $E00C,x` at $DFCB (operand $E00C falls inside this region) +; referenced by `lda $E00D,x` at $DFD0 (operand $E00D falls inside this region) + .byte $FF, $20, $E0, $14, $FF, $14, $E0, $14, $C0, $0C, $A0, $0A, $80, $07, $60, $07 ; CPU:$DFEA PRG:1FEA FF 20 E0 14 FF 14 E0 14 C0 0C A0 0A 80 07 60 07 + .byte $40, $07, $20, $07, $10, $08, $06, $06, $04, $04, $02, $04, $00, $04, $00, $03 ; CPU:$DFFA PRG:1FFA 40 07 20 07 10 08 06 06 04 04 02 04 00 04 00 03 + .byte $00, $03, $00, $02, $00, $03, $01, $03, $02, $04, $02, $05, $03, $05, $03, $06 ; CPU:$E00A PRG:200A 00 03 00 02 00 03 01 03 02 04 02 05 03 05 03 06 + .byte $04, $07, $04, $08, $05, $09, $05, $0A, $05, $0B, $06, $0B, $06, $0C, $07, $0C ; CPU:$E01A PRG:201A 04 07 04 08 05 09 05 0A 05 0B 06 0B 06 0C 07 0C + .byte $07, $0D, $08, $0D, $08, $0E, $09, $0E, $09, $0F, $0A, $0F, $0B, $0F, $0C, $10 ; CPU:$E02A PRG:202A 07 0D 08 0D 08 0E 09 0E 09 0F 0A 0F 0B 0F 0C 10 + .byte $0D, $10, $0E, $10, $0F, $10 ; CPU:$E03A PRG:203A 0D 10 0E 10 0F 10 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1CheckZpC0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1CheckZpC0: + lda ZpC0 ; CPU:$E040 PRG:2040 A5 C0 + beq HandlePlayer1Entry ; CPU:$E042 PRG:2042 F0 31 + ldx Zp89 ; CPU:$E044 PRG:2044 A6 89 + cpx #$01 ; CPU:$E046 PRG:2046 E0 01 + bne HandlePlayer1Entry ; CPU:$E048 PRG:2048 D0 2B + lda #$00 ; CPU:$E04A PRG:204A A9 00 + sta Zp18 ; CPU:$E04C PRG:204C 85 18 + lda Zp88 ; CPU:$E04E PRG:204E A5 88 + bne HandlePlayer1LdxZp89 ; CPU:$E050 PRG:2050 D0 04 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1BeqE075 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1BeqE075: + lda #$01 ; CPU:$E052 PRG:2052 A9 01 + bne HandlePlayer1CallE1FD ; CPU:$E054 PRG:2054 D0 1D +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LdxZp89 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LdxZp89: + lda $0301 ; CPU:$E056 PRG:2056 AD 01 03 + cmp #$08 ; CPU:$E059 PRG:2059 C9 08 + beq HandlePlayer1BeqE075 ; CPU:$E05B PRG:205B F0 F5 + lda Zp70 ; CPU:$E05D PRG:205D A5 70 + beq HandlePlayer2Exit ; CPU:$E05F PRG:205F F0 03 + dec Zp70 ; CPU:$E061 PRG:2061 C6 70 + rts ; CPU:$E063 PRG:2063 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2Exit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2Exit: + lda #$08 ; CPU:$E064 PRG:2064 A9 08 + sta Zp70 ; CPU:$E066 PRG:2066 85 70 + lda #$01 ; CPU:$E068 PRG:2068 A9 01 + ldx $05EC ; CPU:$E06A PRG:206A AE EC 05 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1CallE1CD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1CallE1CD: + rol a ; CPU:$E06D PRG:206D 2A + dex ; CPU:$E06E PRG:206E CA + bne HandlePlayer1CallE1CD ; CPU:$E06F PRG:206F D0 FC + and #$CD ; CPU:$E071 PRG:2071 29 CD +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1CallE1FD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1CallE1FD: + sta Zp18 ; CPU:$E073 PRG:2073 85 18 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1Entry: + rts ; CPU:$E075 PRG:2075 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1Alt: + ldx Zp93 ; CPU:$E076 PRG:2076 A6 93 + bne HandlePlayer1Entry ; CPU:$E078 PRG:2078 D0 FB + lda Zp31 ; CPU:$E07A PRG:207A A5 31 + jsr $CDE0 ; CPU:$E07C PRG:207C 20 E0 CD + ora $8DD0,y ; CPU:$E07F PRG:207F 19 D0 8D + cpx #$E9 ; CPU:$E082 PRG:2082 E0 E9 + cpx #$FC ; CPU:$E084 PRG:2084 E0 FC + cpx #$1D ; CPU:$E086 PRG:2086 E0 1D + sbc (ZpC0,x) ; CPU:$E088 PRG:2088 E1 C0 + sbc (ZpAB,x) ; CPU:$E08A PRG:208A E1 AB + dec ZpA5,x ; CPU:$E08C PRG:208C D6 A5 + rol a ; CPU:$E08E PRG:208E 2A + bne HandlePlayer1Entry ; CPU:$E08F PRG:208F D0 E4 + ldy $0301 ; CPU:$E091 PRG:2091 AC 01 03 + cpy #$05 ; CPU:$E094 PRG:2094 C0 05 + bcs HandlePlayer1Entry ; CPU:$E096 PRG:2096 B0 DD + ldy $0321 ; CPU:$E098 PRG:2098 AC 21 03 + cpy #$05 ; CPU:$E09B PRG:209B C0 05 + bcs HandlePlayer2Entry ; CPU:$E09D PRG:209D B0 7D + lda $05EC ; CPU:$E09F PRG:209F AD EC 05 + and #$7F ; CPU:$E0A2 PRG:20A2 29 7F + bne HandlePlayer1Entry ; CPU:$E0A4 PRG:20A4 D0 CF + ldx Zp1F ; CPU:$E0A6 PRG:20A6 A6 1F + beq HandlePlayer1CheckZp87 ; CPU:$E0A8 PRG:20A8 F0 0A + lda $05EC ; CPU:$E0AA PRG:20AA AD EC 05 + ldx $0303 ; CPU:$E0AD PRG:20AD AE 03 03 + and #$08 ; CPU:$E0B0 PRG:20B0 29 08 + bne HandlePlayer1BeqE235 ; CPU:$E0B2 PRG:20B2 D0 03 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1CheckZp87 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1CheckZp87: + ldx $0323 ; CPU:$E0B4 PRG:20B4 AE 23 03 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1BeqE235 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1BeqE235: + txa ; CPU:$E0B7 PRG:20B7 8A + sec ; CPU:$E0B8 PRG:20B8 38 + sbc #$0F ; CPU:$E0B9 PRG:20B9 E9 0F + and #$F0 ; CPU:$E0BB PRG:20BB 29 F0 + ora #$18 ; CPU:$E0BD PRG:20BD 09 18 + cmp #$30 ; CPU:$E0BF PRG:20BF C9 30 + bcc HandlePlayer2Entry ; CPU:$E0C1 PRG:20C1 90 59 + cmp #$D0 ; CPU:$E0C3 PRG:20C3 C9 D0 + bcs HandlePlayer2Entry ; CPU:$E0C5 PRG:20C5 B0 55 + sta Zp33 ; CPU:$E0C7 PRG:20C7 85 33 + lda #$00 ; CPU:$E0C9 PRG:20C9 A9 00 + ldx Zp82 ; CPU:$E0CB PRG:20CB A6 82 + bne HandlePlayer2CallE1FD ; CPU:$E0CD PRG:20CD D0 4B + lda #$01 ; CPU:$E0CF PRG:20CF A9 01 + ldx Zp84 ; CPU:$E0D1 PRG:20D1 A6 84 + cpx #$01 ; CPU:$E0D3 PRG:20D3 E0 01 + bne HandlePlayer2CallE1FD ; CPU:$E0D5 PRG:20D5 D0 43 + ldx $0301 ; CPU:$E0D7 PRG:20D7 AE 01 03 + cpx #$0D ; CPU:$E0DA PRG:20DA E0 0D + beq HandlePlayer2CallE1FD ; CPU:$E0DC PRG:20DC F0 3C + ldx $0321 ; CPU:$E0DE PRG:20DE AE 21 03 + cpx #$0D ; CPU:$E0E1 PRG:20E1 E0 0D + beq HandlePlayer2CallE1FD ; CPU:$E0E3 PRG:20E3 F0 35 + lda #$02 ; CPU:$E0E5 PRG:20E5 A9 02 + bne HandlePlayer2CallE1FD ; CPU:$E0E7 PRG:20E7 D0 31 + dec Zp32 ; CPU:$E0E9 PRG:20E9 C6 32 + lda Zp32 ; CPU:$E0EB PRG:20EB A5 32 + cmp #$2B ; CPU:$E0ED PRG:20ED C9 2B + bne HandlePlayer2Entry ; CPU:$E0EF PRG:20EF D0 2B + lda #$12 ; CPU:$E0F1 PRG:20F1 A9 12 + sta Zp35 ; CPU:$E0F3 PRG:20F3 85 35 + jsr $E1CD ; CPU:$E0F5 PRG:20F5 20 CD E1 + lda #$03 ; CPU:$E0F8 PRG:20F8 A9 03 + bne HandlePlayer2CallE1FD ; CPU:$E0FA PRG:20FA D0 1E + lda $05EC ; CPU:$E0FC PRG:20FC AD EC 05 + clc ; CPU:$E0FF PRG:20FF 18 + adc #$08 ; CPU:$E100 PRG:2100 69 08 + bcc HandlePlayer2Entry ; CPU:$E102 PRG:2102 90 18 + lda #$13 ; CPU:$E104 PRG:2104 A9 13 + sta Zp35 ; CPU:$E106 PRG:2106 85 35 + jsr $E1FD ; CPU:$E108 PRG:2108 20 FD E1 + lda #$2F ; CPU:$E10B PRG:210B A9 2F + sta $0258,x ; CPU:$E10D PRG:210D 9D 58 02 + lda #$27 ; CPU:$E110 PRG:2110 A9 27 + sta $025C,x ; CPU:$E112 PRG:2112 9D 5C 02 + jsr $E7C6 ; CPU:$E115 PRG:2115 20 C6 E7 + lda #$04 ; CPU:$E118 PRG:2118 A9 04 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2CallE1FD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2CallE1FD: + sta Zp31 ; CPU:$E11A PRG:211A 85 31 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2Entry: + rts ; CPU:$E11C PRG:211C 60 +; ---- data $E11D-$E1CC (176 bytes) ---- + .byte $20, $FD, $E1, $FE, $58, $02, $FE, $5C, $02, $BD, $58, $02, $C9, $6D, $90, $EF ; CPU:$E11D PRG:211D 20 FD E1 FE 58 02 FE 5C 02 BD 58 02 C9 6D 90 EF + .byte $C9, $79, $90, $0E, $C9, $8E, $D0, $E7, $20, $1E, $E2, $20, $CE, $E7, $A9, $05 ; CPU:$E12D PRG:212D C9 79 90 0E C9 8E D0 E7 20 1E E2 20 CE E7 A9 05 + .byte $D0, $DB, $48, $86, $00, $A2, $01, $86, $01, $A9, $0A, $BC, $00, $03, $C0, $04 ; CPU:$E13D PRG:213D D0 DB 48 86 00 A2 01 86 01 A9 0A BC 00 03 C0 04 + .byte $D0, $06, $18, $7D, $02, $03, $D0, $03, $BD, $02, $03, $A4, $00, $38, $E9, $04 ; CPU:$E14D PRG:214D D0 06 18 7D 02 03 D0 03 BD 02 03 A4 00 38 E9 04 + .byte $38, $F9, $5B, $02, $B0, $04, $49, $FF, $69, $01, $C9, $06, $90, $0E, $68, $A4 ; CPU:$E15D PRG:215D 38 F9 5B 02 B0 04 49 FF 69 01 C9 06 90 0E 68 A4 + .byte $01, $F0, $C1, $48, $C6, $01, $A9, $F1, $A2, $21, $D0, $CF, $68, $A9, $0D, $9D ; CPU:$E16D PRG:216D 01 F0 C1 48 C6 01 A9 F1 A2 21 D0 CF 68 A9 0D 9D + .byte $00, $03, $A9, $0E, $9D, $12, $03, $A9, $7B, $9D, $01, $03, $8A, $48, $A9, $0F ; CPU:$E17D PRG:217D 00 03 A9 0E 9D 12 03 A9 7B 9D 01 03 8A 48 A9 0F + .byte $E0, $01, $F0, $02, $A9, $00, $A2, $05, $20, $C9, $E2, $68, $AA, $A9, $00, $9D ; CPU:$E18D PRG:218D E0 01 F0 02 A9 00 A2 05 20 C9 E2 68 AA A9 00 9D + .byte $11, $03, $9D, $10, $03, $9D, $0D, $03, $85, $88, $E6, $8B, $20, $CE, $E7, $20 ; CPU:$E19D PRG:219D 11 03 9D 10 03 9D 0D 03 85 88 E6 8B 20 CE E7 20 + .byte $CA, $E7, $8A, $4A, $4A, $4A, $4A, $4A, $A8, $A9, $FF, $99, $2B, $00, $A6, $00 ; CPU:$E1AD PRG:21AD CA E7 8A 4A 4A 4A 4A 4A A8 A9 FF 99 2B 00 A6 00 + .byte $4C, $3B, $E1, $E6, $32, $A5, $32, $C9, $3D, $D0, $34, $A9, $01, $4C, $3D, $E1 ; CPU:$E1BD PRG:21BD 4C 3B E1 E6 32 A5 32 C9 3D D0 34 A9 01 4C 3D E1 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2CallE1FDEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2CallE1FDEntry: + jsr $E1FD ; CPU:$E1CD PRG:21CD 20 FD E1 + lda #$1D ; CPU:$E1D0 PRG:21D0 A9 1D + sta $0258,x ; CPU:$E1D2 PRG:21D2 9D 58 02 + lda #$15 ; CPU:$E1D5 PRG:21D5 A9 15 + sta $025C,x ; CPU:$E1D7 PRG:21D7 9D 5C 02 + inx ; CPU:$E1DA PRG:21DA E8 + lda #$6D ; CPU:$E1DB PRG:21DB A9 6D + sta $0258,x ; CPU:$E1DD PRG:21DD 9D 58 02 + lda #$6C ; CPU:$E1E0 PRG:21E0 A9 6C + sta $025C,x ; CPU:$E1E2 PRG:21E2 9D 5C 02 + inx ; CPU:$E1E5 PRG:21E5 E8 + lda #$02 ; CPU:$E1E6 PRG:21E6 A9 02 + sta $0258,x ; CPU:$E1E8 PRG:21E8 9D 58 02 + lda #$03 ; CPU:$E1EB PRG:21EB A9 03 + sta $025C,x ; CPU:$E1ED PRG:21ED 9D 5C 02 + inx ; CPU:$E1F0 PRG:21F0 E8 + lda Zp33 ; CPU:$E1F1 PRG:21F1 A5 33 + clc ; CPU:$E1F3 PRG:21F3 18 + adc #$04 ; CPU:$E1F4 PRG:21F4 69 04 + sta $0258,x ; CPU:$E1F6 PRG:21F6 9D 58 02 + sta $025C,x ; CPU:$E1F9 PRG:21F9 9D 5C 02 + rts ; CPU:$E1FC PRG:21FC 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2Dex +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2Dex: + ldx Zp89 ; CPU:$E1FD PRG:21FD A6 89 + dex ; CPU:$E1FF PRG:21FF CA + dex ; CPU:$E200 PRG:2200 CA + txa ; CPU:$E201 PRG:2201 8A + asl a ; CPU:$E202 PRG:2202 0A + asl a ; CPU:$E203 PRG:2203 0A + asl a ; CPU:$E204 PRG:2204 0A + tax ; CPU:$E205 PRG:2205 AA + rts ; CPU:$E206 PRG:2206 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicLdxZp36 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicLdxZp36: + ldx Zp36 ; CPU:$E207 PRG:2207 A6 36 + inx ; CPU:$E209 PRG:2209 E8 + inx ; CPU:$E20A PRG:220A E8 + ldy #$03 ; CPU:$E20B PRG:220B A0 03 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicInx +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicInx: + lda $0200,x ; CPU:$E20D PRG:220D BD 00 02 + ora #$40 ; CPU:$E210 PRG:2210 09 40 + sta $0200,x ; CPU:$E212 PRG:2212 9D 00 02 + txa ; CPU:$E215 PRG:2215 8A + clc ; CPU:$E216 PRG:2216 18 + adc #$08 ; CPU:$E217 PRG:2217 69 08 + tax ; CPU:$E219 PRG:2219 AA + dey ; CPU:$E21A PRG:221A 88 + bne HandlePlayer1LogicInx ; CPU:$E21B PRG:221B D0 F0 + rts ; CPU:$E21D PRG:221D 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicLda0258 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicLda0258: + lda $0258 ; CPU:$E21E PRG:221E AD 58 02 + beq HandlePlayer1LogicBeq ; CPU:$E221 PRG:2221 F0 12 + lda Zp87 ; CPU:$E223 PRG:2223 A5 87 + bne HandlePlayer1LogicBeq ; CPU:$E225 PRG:2225 D0 0E + lda #$6F ; CPU:$E227 PRG:2227 A9 6F + sta $0259 ; CPU:$E229 PRG:2229 8D 59 02 + lda #$6E ; CPU:$E22C PRG:222C A9 6E + sta $025D ; CPU:$E22E PRG:222E 8D 5D 02 + lda #$0A ; CPU:$E231 PRG:2231 A9 0A + sta Zp87 ; CPU:$E233 PRG:2233 85 87 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicBeq +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicBeq: + rts ; CPU:$E235 PRG:2235 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicLdaZp87 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicLdaZp87: + stx Zp0C ; CPU:$E236 PRG:2236 86 0C + sty Zp0D ; CPU:$E238 PRG:2238 84 0D + asl a ; CPU:$E23A PRG:223A 0A + tax ; CPU:$E23B PRG:223B AA + lda $F9CF,x ; CPU:$E23C PRG:223C BD CF F9 + sta Zp14 ; CPU:$E23F PRG:223F 85 14 + lda $F9D0,x ; CPU:$E241 PRG:2241 BD D0 F9 + sta Zp15 ; CPU:$E244 PRG:2244 85 15 + ldx #$05 ; CPU:$E246 PRG:2246 A2 05 + ldy #$04 ; CPU:$E248 PRG:2248 A0 04 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicCallE4E2: + dey ; CPU:$E24A PRG:224A 88 + dex ; CPU:$E24B PRG:224B CA + beq HandlePlayer1LogicCallE5AC ; CPU:$E24C PRG:224C F0 07 + lda (Zp14),y ; CPU:$E24E PRG:224E B1 14 + sta $0500,x ; CPU:$E250 PRG:2250 9D 00 05 + bne HandlePlayer1LogicCallE4E2 ; CPU:$E253 PRG:2253 D0 F5 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicCallE5AC: + lda #$22 ; CPU:$E255 PRG:2255 A9 22 + sta $0500 ; CPU:$E257 PRG:2257 8D 00 05 + ldx Zp0C ; CPU:$E25A PRG:225A A6 0C + ldy Zp0D ; CPU:$E25C PRG:225C A4 0D + jsr $D08E ; CPU:$E25E PRG:225E 20 8E D0 + lda Zp0D ; CPU:$E261 PRG:2261 A5 0D + clc ; CPU:$E263 PRG:2263 18 + adc #$04 ; CPU:$E264 PRG:2264 69 04 + tay ; CPU:$E266 PRG:2266 A8 + ldx Zp0C ; CPU:$E267 PRG:2267 A6 0C + jmp $D08E ; CPU:$E269 PRG:2269 4C 8E D0 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicCallE4E2Alt: + stx Zp0E ; CPU:$E26C PRG:226C 86 0E + lda ZpC6,x ; CPU:$E26E PRG:226E B5 C6 + and #$0F ; CPU:$E270 PRG:2270 29 0F + sta ZpCF ; CPU:$E272 PRG:2272 85 CF + lda ZpC6,x ; CPU:$E274 PRG:2274 B5 C6 + lsr a ; CPU:$E276 PRG:2276 4A + lsr a ; CPU:$E277 PRG:2277 4A + lsr a ; CPU:$E278 PRG:2278 4A + lsr a ; CPU:$E279 PRG:2279 4A + sta ZpCE ; CPU:$E27A PRG:227A 85 CE + lda ZpC5,x ; CPU:$E27C PRG:227C B5 C5 + and #$0F ; CPU:$E27E PRG:227E 29 0F + sta ZpCD ; CPU:$E280 PRG:2280 85 CD + lda Zp1F ; CPU:$E282 PRG:2282 A5 1F + bne HandlePlayer2LogicEntry ; CPU:$E284 PRG:2284 D0 0A + cpx #$04 ; CPU:$E286 PRG:2286 E0 04 + bne HandlePlayer2LogicCallE4E2 ; CPU:$E288 PRG:2288 D0 2E + ldx #$07 ; CPU:$E28A PRG:228A A2 07 + ldy #$23 ; CPU:$E28C PRG:228C A0 23 + bne HandlePlayer2LogicCpyZp43 ; CPU:$E28E PRG:228E D0 0C +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicEntry: + ldx #$E7 ; CPU:$E290 PRG:2290 A2 E7 + ldy #$22 ; CPU:$E292 PRG:2292 A0 22 + lda Zp0E ; CPU:$E294 PRG:2294 A5 0E + bne HandlePlayer2LogicCpyZp43 ; CPU:$E296 PRG:2296 D0 04 + ldx #$FB ; CPU:$E298 PRG:2298 A2 FB + ldy #$22 ; CPU:$E29A PRG:229A A0 22 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCpyZp43 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCpyZp43: + lda ZpCF ; CPU:$E29C PRG:229C A5 CF + jsr $E236 ; CPU:$E29E PRG:229E 20 36 E2 + ldy #$02 ; CPU:$E2A1 PRG:22A1 A0 02 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicStxZp31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicStxZp31: + sty Zp0F ; CPU:$E2A3 PRG:22A3 84 0F + lda Zp0C ; CPU:$E2A5 PRG:22A5 A5 0C + sec ; CPU:$E2A7 PRG:22A7 38 + sbc #$02 ; CPU:$E2A8 PRG:22A8 E9 02 + tax ; CPU:$E2AA PRG:22AA AA + lda a:$00CC,y ; CPU:$E2AB PRG:22AB B9 CC 00 + ldy Zp0D ; CPU:$E2AE PRG:22AE A4 0D + jsr $E236 ; CPU:$E2B0 PRG:22B0 20 36 E2 + ldy Zp0F ; CPU:$E2B3 PRG:22B3 A4 0F + dey ; CPU:$E2B5 PRG:22B5 88 + bne HandlePlayer2LogicStxZp31 ; CPU:$E2B6 PRG:22B6 D0 EB +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE4E2: + rts ; CPU:$E2B8 PRG:22B8 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2Logic +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2Logic: + lda Zp1F ; CPU:$E2B9 PRG:22B9 A5 1F + bne HandlePlayer2LogicCallE5AC ; CPU:$E2BB PRG:22BB D0 04 + lda Zp89 ; CPU:$E2BD PRG:22BD A5 89 + beq HandlePlayer2LogicCallE4E2 ; CPU:$E2BF PRG:22BF F0 F7 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE5AC: + lda #$0F ; CPU:$E2C1 PRG:22C1 A9 0F + ldy Zp89 ; CPU:$E2C3 PRG:22C3 A4 89 + beq HandlePlayerLogicExit ; CPU:$E2C5 PRG:22C5 F0 02 + lda #$00 ; CPU:$E2C7 PRG:22C7 A9 00 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayerLogicExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayerLogicExit: + ldy #$00 ; CPU:$E2C9 PRG:22C9 A0 00 + sty Zp05 ; CPU:$E2CB PRG:22CB 84 05 + sty Zp06 ; CPU:$E2CD PRG:22CD 84 06 + ldy #$FF ; CPU:$E2CF PRG:22CF A0 FF + sty Zp04 ; CPU:$E2D1 PRG:22D1 84 04 + stx Zp07 ; CPU:$E2D3 PRG:22D3 86 07 + jmp $CEBE ; CPU:$E2D5 PRG:22D5 4C BE CE +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE4E2Alt: + lda Zp93 ; CPU:$E2D8 PRG:22D8 A5 93 + bne HandleGameOverCallE4E2Alt3 ; CPU:$E2DA PRG:22DA D0 73 + lda Zp82 ; CPU:$E2DC PRG:22DC A5 82 + bne HandleGameOverCallE4E2Alt3 ; CPU:$E2DE PRG:22DE D0 6F + ldy #$02 ; CPU:$E2E0 PRG:22E0 A0 02 + lda $0301 ; CPU:$E2E2 PRG:22E2 AD 01 03 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE4E2Alt2: + cmp #$0A ; CPU:$E2E5 PRG:22E5 C9 0A + beq HandleGameOverCallE4E2Alt3 ; CPU:$E2E7 PRG:22E7 F0 66 + cmp #$0B ; CPU:$E2E9 PRG:22E9 C9 0B + beq HandleGameOverCallE4E2Alt3 ; CPU:$E2EB PRG:22EB F0 62 + lda $0321 ; CPU:$E2ED PRG:22ED AD 21 03 + dey ; CPU:$E2F0 PRG:22F0 88 + bne HandlePlayer2LogicCallE4E2Alt2 ; CPU:$E2F1 PRG:22F1 D0 F2 + lda Zp2D ; CPU:$E2F3 PRG:22F3 A5 2D + bne HandleGameOverCallE4E2Alt3 ; CPU:$E2F5 PRG:22F5 D0 58 + lda #$07 ; CPU:$E2F7 PRG:22F7 A9 07 + ldx Zp1F ; CPU:$E2F9 PRG:22F9 A6 1F + bne HandlePlayer2LogicCallE4E2Alt3 ; CPU:$E2FB PRG:22FB D0 02 + lda #$06 ; CPU:$E2FD PRG:22FD A9 06 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE4E2Alt3: + sta Zp2D ; CPU:$E2FF PRG:22FF 85 2D + lda Zp81 ; CPU:$E301 PRG:2301 A5 81 + cmp #$03 ; CPU:$E303 PRG:2303 C9 03 + beq HandleGameOverEntry ; CPU:$E305 PRG:2305 F0 08 + cmp #$06 ; CPU:$E307 PRG:2307 C9 06 + beq HandleGameOverEntry ; CPU:$E309 PRG:2309 F0 04 + cmp #$09 ; CPU:$E30B PRG:230B C9 09 + bne HandleGameOverCallE4E2 ; CPU:$E30D PRG:230D D0 03 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverEntry: + jsr $DFBC ; CPU:$E30F PRG:230F 20 BC DF +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE4E2: + dec Zp81 ; CPU:$E312 PRG:2312 C6 81 + bpl HandleGameOverCallE5AC ; CPU:$E314 PRG:2314 10 08 + dec Zp80 ; CPU:$E316 PRG:2316 C6 80 + bmi HandleGameOverCallE4E2Alt2 ; CPU:$E318 PRG:2318 30 2C + lda #$09 ; CPU:$E31A PRG:231A A9 09 + sta Zp81 ; CPU:$E31C PRG:231C 85 81 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE5AC: + lda Zp1F ; CPU:$E31E PRG:231E A5 1F + bne HandleGameOverCallE4E2Alt ; CPU:$E320 PRG:2320 D0 12 + ldx #$0E ; CPU:$E322 PRG:2322 A2 0E + ldy #$23 ; CPU:$E324 PRG:2324 A0 23 + lda Zp80 ; CPU:$E326 PRG:2326 A5 80 + jsr $E236 ; CPU:$E328 PRG:2328 20 36 E2 + ldx #$10 ; CPU:$E32B PRG:232B A2 10 + ldy #$23 ; CPU:$E32D PRG:232D A0 23 + lda Zp81 ; CPU:$E32F PRG:232F A5 81 + jmp $E236 ; CPU:$E331 PRG:2331 4C 36 E2 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE4E2Alt: + ldx #$2E ; CPU:$E334 PRG:2334 A2 2E + ldy #$23 ; CPU:$E336 PRG:2336 A0 23 + lda Zp80 ; CPU:$E338 PRG:2338 A5 80 + jsr $E236 ; CPU:$E33A PRG:233A 20 36 E2 + ldx #$30 ; CPU:$E33D PRG:233D A2 30 + ldy #$23 ; CPU:$E33F PRG:233F A0 23 + lda Zp81 ; CPU:$E341 PRG:2341 A5 81 + jmp $E236 ; CPU:$E343 PRG:2343 4C 36 E2 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE4E2Alt2: + inc Zp82 ; CPU:$E346 PRG:2346 E6 82 + lda #$02 ; CPU:$E348 PRG:2348 A9 02 + sta Zp84 ; CPU:$E34A PRG:234A 85 84 + jsr $E80C ; CPU:$E34C PRG:234C 20 0C E8 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE4E2Alt3: + rts ; CPU:$E34F PRG:234F 60 +; ---- data $E350-$E40D (190 bytes) ---- + .byte $A5, $1F, $D0, $FB, $A6, $72, $E0, $12, $F0, $32, $BD, $C7, $E3, $85, $0C, $BD ; CPU:$E350 PRG:2350 A5 1F D0 FB A6 72 E0 12 F0 32 BD C7 E3 85 0C BD + .byte $C6, $E3, $8D, $01, $05, $A6, $73, $86, $0D, $E0, $56, $F0, $39, $A9, $11, $8D ; CPU:$E360 PRG:2360 C6 E3 8D 01 05 A6 73 86 0D E0 56 F0 39 A9 11 8D + .byte $00, $05, $20, $B7, $E3, $A5, $0C, $8D, $01, $05, $8D, $02, $05, $8D, $03, $05 ; CPU:$E370 PRG:2370 00 05 20 B7 E3 A5 0C 8D 01 05 8D 02 05 8D 03 05 + .byte $A9, $13, $8D, $00, $05, $A2, $F5, $86, $0D, $4C, $B7, $E3, $A0, $09, $A2, $08 ; CPU:$E380 PRG:2380 A9 13 8D 00 05 A2 F5 86 0D 4C B7 E3 A0 09 A2 08 + .byte $BD, $D7, $E3, $99, $FF, $04, $88, $CA, $D0, $F6, $A9, $18, $8D, $00, $05, $A2 ; CPU:$E390 PRG:2390 BD D7 E3 99 FF 04 88 CA D0 F6 A9 18 8D 00 05 A2 + .byte $56, $86, $0D, $4C, $B7, $E3, $A2, $04, $A9, $2F, $9D, $01, $05, $CA, $D0, $FA ; CPU:$E3A0 PRG:23A0 56 86 0D 4C B7 E3 A2 04 A9 2F 9D 01 05 CA D0 FA + .byte $A9, $15, $8D, $00, $05, $D0, $BB, $A6, $0D, $A0, $23, $20, $8E, $D0, $A6, $0D ; CPU:$E3B0 PRG:23B0 A9 15 8D 00 05 D0 BB A6 0D A0 23 20 8E D0 A6 0D + .byte $A0, $27, $20, $8E, $D0, $60, $AB, $FA, $AE, $5A, $C1, $5A, $E7, $0A, $AC, $FA ; CPU:$E3C0 PRG:23C0 A0 27 20 8E D0 60 AB FA AE 5A C1 5A E7 0A AC FA + .byte $BC, $5A, $AF, $5A, $E6, $FA, $AD, $FA, $EA, $EF, $E8, $F4, $F7, $F0, $F6, $F5 ; CPU:$E3D0 PRG:23D0 BC 5A AF 5A E6 FA AD FA EA EF E8 F4 F7 F0 F6 F5 + .byte $A0, $00, $84, $82, $84, $88, $84, $8B, $8C, $00, $02, $8C, $0D, $03, $8C, $2D ; CPU:$E3E0 PRG:23E0 A0 00 84 82 84 88 84 8B 8C 00 02 8C 0D 03 8C 2D + .byte $03, $84, $3D, $84, $C6, $84, $CA, $84, $83, $84, $93, $84, $A3, $C8, $84, $84 ; CPU:$E3F0 PRG:23F0 03 84 3D 84 C6 84 CA 84 83 84 93 84 A3 C8 84 84 + .byte $C8, $84, $C5, $84, $C9, $A9, $09, $85, $80, $A9, $0A, $85, $81, $60 ; CPU:$E400 PRG:2400 C8 84 C5 84 C9 A9 09 85 80 A9 0A 85 81 60 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartExit: + lda #$80 ; CPU:$E40E PRG:240E A9 80 + ldy Zp49 ; CPU:$E410 PRG:2410 A4 49 + beq HandleRoundStartEntry ; CPU:$E412 PRG:2412 F0 04 + dec Zp49 ; CPU:$E414 PRG:2414 C6 49 + bne HandleRoundStartCallE4E2Alt3 ; CPU:$E416 PRG:2416 D0 40 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartEntry: + ldy Zp4A ; CPU:$E418 PRG:2418 A4 4A +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2: + lda $F7F1,y ; CPU:$E41A PRG:241A B9 F1 F7 + cmp #$FF ; CPU:$E41D PRG:241D C9 FF + beq HandleRoundStartCallE4E2Alt3 ; CPU:$E41F PRG:241F F0 37 + cmp #$FE ; CPU:$E421 PRG:2421 C9 FE + bne HandleRoundStartCallE5AC ; CPU:$E423 PRG:2423 D0 05 + dey ; CPU:$E425 PRG:2425 88 + dey ; CPU:$E426 PRG:2426 88 + dey ; CPU:$E427 PRG:2427 88 + bne HandleRoundStartCallE4E2 ; CPU:$E428 PRG:2428 D0 F0 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE5AC: + cmp #$FD ; CPU:$E42A PRG:242A C9 FD + bne HandleRoundStartCallE4E2Alt ; CPU:$E42C PRG:242C D0 0A + iny ; CPU:$E42E PRG:242E C8 + lda $F7F1,y ; CPU:$E42F PRG:242F B9 F1 F7 + sta Zp35 ; CPU:$E432 PRG:2432 85 35 + iny ; CPU:$E434 PRG:2434 C8 + lda $F7F1,y ; CPU:$E435 PRG:2435 B9 F1 F7 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2Alt: + sta Zp49 ; CPU:$E438 PRG:2438 85 49 + iny ; CPU:$E43A PRG:243A C8 + lda $F7F1,y ; CPU:$E43B PRG:243B B9 F1 F7 + clc ; CPU:$E43E PRG:243E 18 + adc Zp32 ; CPU:$E43F PRG:243F 65 32 + sta Zp32 ; CPU:$E441 PRG:2441 85 32 + iny ; CPU:$E443 PRG:2443 C8 + lda $F7F1,y ; CPU:$E444 PRG:2444 B9 F1 F7 + ldx Zp89 ; CPU:$E447 PRG:2447 A6 89 + beq HandleRoundStartCallE4E2Alt2 ; CPU:$E449 PRG:2449 F0 05 + eor #$FF ; CPU:$E44B PRG:244B 49 FF + clc ; CPU:$E44D PRG:244D 18 + adc #$01 ; CPU:$E44E PRG:244E 69 01 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2Alt2: + clc ; CPU:$E450 PRG:2450 18 + adc Zp33 ; CPU:$E451 PRG:2451 65 33 + sta Zp33 ; CPU:$E453 PRG:2453 85 33 + iny ; CPU:$E455 PRG:2455 C8 + sty Zp4A ; CPU:$E456 PRG:2456 84 4A +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2Alt3: + rts ; CPU:$E458 PRG:2458 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSound +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSound: + ldx #$20 ; CPU:$E459 PRG:2459 A2 20 + lda Zp89 ; CPU:$E45B PRG:245B A5 89 + beq HandleRoundStartCallE4E2Alt4 ; CPU:$E45D PRG:245D F0 02 + ldx #$00 ; CPU:$E45F PRG:245F A2 00 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2Alt4: + rts ; CPU:$E461 PRG:2461 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundEntry: + lda #$00 ; CPU:$E462 PRG:2462 A9 00 + sta Zp41 ; CPU:$E464 PRG:2464 85 41 + sta Zp42 ; CPU:$E466 PRG:2466 85 42 + rts ; CPU:$E468 PRG:2468 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2: + lda #$00 ; CPU:$E469 PRG:2469 A9 00 + sta Zp00 ; CPU:$E46B PRG:246B 85 00 + rts ; CPU:$E46D PRG:246D 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE5AC: + lda Zp82 ; CPU:$E46E PRG:246E A5 82 + beq UpdateSoundCallE4E2Alt ; CPU:$E470 PRG:2470 F0 07 + lda $0204 ; CPU:$E472 PRG:2472 AD 04 02 + cmp #$9F ; CPU:$E475 PRG:2475 C9 9F + beq UpdateSoundCallE4E2 ; CPU:$E477 PRG:2477 F0 F0 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt: + lda Zp89 ; CPU:$E479 PRG:2479 A5 89 + eor #$01 ; CPU:$E47B PRG:247B 49 01 + tax ; CPU:$E47D PRG:247D AA + lda Zp18,x ; CPU:$E47E PRG:247E B5 18 + ldy Zp84 ; CPU:$E480 PRG:2480 A4 84 + cpy #$02 ; CPU:$E482 PRG:2482 C0 02 + beq UpdateSoundCallE4E2Alt2 ; CPU:$E484 PRG:2484 F0 04 + cpy #$03 ; CPU:$E486 PRG:2486 C0 03 + bne UpdateSoundCallE4E2Alt3 ; CPU:$E488 PRG:2488 D0 0C +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt2: + ldy Zp82 ; CPU:$E48A PRG:248A A4 82 + bne UpdateSoundCallE4E2Alt3 ; CPU:$E48C PRG:248C D0 08 + lda #$01 ; CPU:$E48E PRG:248E A9 01 + cpx #$00 ; CPU:$E490 PRG:2490 E0 00 + bne UpdateSoundCallE4E2Alt3 ; CPU:$E492 PRG:2492 D0 02 + lda #$02 ; CPU:$E494 PRG:2494 A9 02 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt3: + sta Zp00 ; CPU:$E496 PRG:2496 85 00 + beq UpdateSoundCallE4E2Alt6 ; CPU:$E498 PRG:2498 F0 25 + lda #$00 ; CPU:$E49A PRG:249A A9 00 + sta Zp3E ; CPU:$E49C PRG:249C 85 3E + ldx Zp89 ; CPU:$E49E PRG:249E A6 89 + beq UpdateSoundCallE5ACAlt ; CPU:$E4A0 PRG:24A0 F0 0C + lda Zp00 ; CPU:$E4A2 PRG:24A2 A5 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundAlt: + and #$03 ; CPU:$E4A4 PRG:24A4 29 03 + beq UpdateSoundCallE5ACAlt ; CPU:$E4A6 PRG:24A6 F0 06 + lda #$03 ; CPU:$E4A8 PRG:24A8 A9 03 + eor Zp00 ; CPU:$E4AA PRG:24AA 45 00 + sta Zp00 ; CPU:$E4AC PRG:24AC 85 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE5ACAlt: + ldx #$01 ; CPU:$E4AE PRG:24AE A2 01 + lda #$04 ; CPU:$E4B0 PRG:24B0 A9 04 + bit Zp00 ; CPU:$E4B2 PRG:24B2 24 00 + bne UpdateSoundCallE4E2Alt5 ; CPU:$E4B4 PRG:24B4 D0 07 + dex ; CPU:$E4B6 PRG:24B6 CA + lda #$08 ; CPU:$E4B7 PRG:24B7 A9 08 + bit Zp00 ; CPU:$E4B9 PRG:24B9 24 00 + beq UpdateSoundCallE4E2Alt6 ; CPU:$E4BB PRG:24BB F0 02 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt5: + stx Zp44 ; CPU:$E4BD PRG:24BD 86 44 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt6: + rts ; CPU:$E4BF PRG:24BF 60 +; ---- data $E4C0-$E4E1 (34 bytes) ---- + .byte $A2, $1F, $BD, $96, $F6, $9D, $00, $03, $CA, $10, $F7, $A2, $1F, $BD, $B6, $F6 ; CPU:$E4C0 PRG:24C0 A2 1F BD 96 F6 9D 00 03 CA 10 F7 A2 1F BD B6 F6 + .byte $9D, $20, $03, $CA, $10, $F7, $A2, $1F, $BD, $D6, $F6, $9D, $40, $03, $CA, $10 ; CPU:$E4D0 PRG:24D0 9D 20 03 CA 10 F7 A2 1F BD D6 F6 9D 40 03 CA 10 + .byte $F7, $60 ; CPU:$E4E0 PRG:24E0 F7 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundAltExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundAltExit: + lda Zp41 ; CPU:$E4E2 PRG:24E2 A5 41 + beq UpdateSoundCallE5ACAlt2 ; CPU:$E4E4 PRG:24E4 F0 04 + dec Zp41 ; CPU:$E4E6 PRG:24E6 C6 41 + bne PlaySoundEffectCallE4E2 ; CPU:$E4E8 PRG:24E8 D0 40 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE5ACAlt2: + lda Zp3E ; CPU:$E4EA PRG:24EA A5 3E + beq UpdateSoundCallE4E2Alt7 ; CPU:$E4EC PRG:24EC F0 08 + dec Zp3E ; CPU:$E4EE PRG:24EE C6 3E + lda #$4F ; CPU:$E4F0 PRG:24F0 A9 4F + cmp Zp3E ; CPU:$E4F2 PRG:24F2 C5 3E + bne PlaySoundEffectCallE4E2 ; CPU:$E4F4 PRG:24F4 D0 34 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt7: + ldy Zp43 ; CPU:$E4F6 PRG:24F6 A4 43 + beq PlaySoundEffectCallE4E2 ; CPU:$E4F8 PRG:24F8 F0 30 + dey ; CPU:$E4FA PRG:24FA 88 + tya ; CPU:$E4FB PRG:24FB 98 + asl a ; CPU:$E4FC PRG:24FC 0A + tay ; CPU:$E4FD PRG:24FD A8 + lda $F77D,y ; CPU:$E4FE PRG:24FE B9 7D F7 + ldx $F77E,y ; CPU:$E501 PRG:2501 BE 7E F7 + sta Zp00 ; CPU:$E504 PRG:2504 85 00 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffect +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffect: + stx Zp01 ; CPU:$E506 PRG:2506 86 01 + ldy Zp42 ; CPU:$E508 PRG:2508 A4 42 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectEntry: + lda (Zp00),y ; CPU:$E50A PRG:250A B1 00 + cmp #$FE ; CPU:$E50C PRG:250C C9 FE + beq PlaySoundEffectCallE5AC ; CPU:$E50E PRG:250E F0 1B + cmp #$FF ; CPU:$E510 PRG:2510 C9 FF + beq PlaySoundEffectCallE4E2Alt ; CPU:$E512 PRG:2512 F0 1B + sta Zp41 ; CPU:$E514 PRG:2514 85 41 + iny ; CPU:$E516 PRG:2516 C8 + lda (Zp00),y ; CPU:$E517 PRG:2517 B1 00 + sta Zp35 ; CPU:$E519 PRG:2519 85 35 + iny ; CPU:$E51B PRG:251B C8 + sty Zp42 ; CPU:$E51C PRG:251C 84 42 + lda Zp89 ; CPU:$E51E PRG:251E A5 89 + cmp #$02 ; CPU:$E520 PRG:2520 C9 02 + bcs PlaySoundEffectCallE4E2 ; CPU:$E522 PRG:2522 B0 06 + jsr $E535 ; CPU:$E524 PRG:2524 20 35 E5 + jsr $E54A ; CPU:$E527 PRG:2527 20 4A E5 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2: + rts ; CPU:$E52A PRG:252A 60 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE5AC: + ldy #$00 ; CPU:$E52B PRG:252B A0 00 + beq PlaySoundEffectEntry ; CPU:$E52D PRG:252D F0 DB +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2Alt: + jsr $E462 ; CPU:$E52F PRG:252F 20 62 E4 + sta Zp43 ; CPU:$E532 PRG:2532 85 43 + rts ; CPU:$E534 PRG:2534 60 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectExit: + lda Zp3E ; CPU:$E535 PRG:2535 A5 3E + bne PlaySoundEffectCallE5ACAlt ; CPU:$E537 PRG:2537 D0 10 + lda Zp43 ; CPU:$E539 PRG:2539 A5 43 + cmp #$05 ; CPU:$E53B PRG:253B C9 05 + beq PlaySoundEffectCallE4E2Alt2 ; CPU:$E53D PRG:253D F0 04 + cmp #$06 ; CPU:$E53F PRG:253F C9 06 + bne PlaySoundEffectCallE5ACAlt ; CPU:$E541 PRG:2541 D0 06 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2Alt2: + lda #$01 ; CPU:$E543 PRG:2543 A9 01 + eor Zp32 ; CPU:$E545 PRG:2545 45 32 + sta Zp32 ; CPU:$E547 PRG:2547 85 32 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE5ACAlt: + rts ; CPU:$E549 PRG:2549 60 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectAlt: + lda Zp89 ; CPU:$E54A PRG:254A A5 89 + asl a ; CPU:$E54C PRG:254C 0A + asl a ; CPU:$E54D PRG:254D 0A + asl a ; CPU:$E54E PRG:254E 0A + sta Zp34 ; CPU:$E54F PRG:254F 85 34 + lda #$02 ; CPU:$E551 PRG:2551 A9 02 + sta Zp00 ; CPU:$E553 PRG:2553 85 00 + lda Zp31 ; CPU:$E555 PRG:2555 A5 31 + cmp #$0C ; CPU:$E557 PRG:2557 C9 0C + beq PlaySoundEffectCallE5ACAlt2 ; CPU:$E559 PRG:2559 F0 27 + cmp #$10 ; CPU:$E55B PRG:255B C9 10 + beq PlaySoundEffectCallE5ACAlt2 ; CPU:$E55D PRG:255D F0 23 + cmp #$01 ; CPU:$E55F PRG:255F C9 01 + beq PlaySoundEffectCallE4E2Alt3 ; CPU:$E561 PRG:2561 F0 08 + cmp #$02 ; CPU:$E563 PRG:2563 C9 02 + bne UpdateMusicEntry ; CPU:$E565 PRG:2565 D0 44 + lda #$00 ; CPU:$E567 PRG:2567 A9 00 + sta Zp88 ; CPU:$E569 PRG:2569 85 88 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2Alt3: + jsr $E46E ; CPU:$E56B PRG:256B 20 6E E4 + lda Zp88 ; CPU:$E56E PRG:256E A5 88 + bne UpdateMusicEntry ; CPU:$E570 PRG:2570 D0 39 + lda #$01 ; CPU:$E572 PRG:2572 A9 01 + bit Zp00 ; CPU:$E574 PRG:2574 24 00 + bne PlaySoundEffectCallE5ACAlt2 ; CPU:$E576 PRG:2576 D0 0A + lda #$02 ; CPU:$E578 PRG:2578 A9 02 + bit Zp00 ; CPU:$E57A PRG:257A 24 00 + beq UpdateMusicEntry ; CPU:$E57C PRG:257C F0 2D + lda #$00 ; CPU:$E57E PRG:257E A9 00 + sta Zp3A ; CPU:$E580 PRG:2580 85 3A +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE5ACAlt2: + ldx #$03 ; CPU:$E582 PRG:2582 A2 03 + lda Zp89 ; CPU:$E584 PRG:2584 A5 89 + eor Zp00 ; CPU:$E586 PRG:2586 45 00 + and #$01 ; CPU:$E588 PRG:2588 29 01 + bne PlaySoundEffectCallE4E2Alt4 ; CPU:$E58A PRG:258A D0 08 + txa ; CPU:$E58C PRG:258C 8A + eor #$FF ; CPU:$E58D PRG:258D 49 FF + clc ; CPU:$E58F PRG:258F 18 + adc #$01 ; CPU:$E590 PRG:2590 69 01 + bne PlaySoundEffectCallE5ACAlt3 ; CPU:$E592 PRG:2592 D0 01 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2Alt4: + txa ; CPU:$E594 PRG:2594 8A +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE5ACAlt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE5ACAlt3: + clc ; CPU:$E595 PRG:2595 18 + adc Zp33 ; CPU:$E596 PRG:2596 65 33 + sta Zp33 ; CPU:$E598 PRG:2598 85 33 + lda #$7B ; CPU:$E59A PRG:259A A9 7B + sta Zp32 ; CPU:$E59C PRG:259C 85 32 + lda #$01 ; CPU:$E59E PRG:259E A9 01 + sta Zp8B ; CPU:$E5A0 PRG:25A0 85 8B + lda Zp35 ; CPU:$E5A2 PRG:25A2 A5 35 + cmp #$00 ; CPU:$E5A4 PRG:25A4 C9 00 + bne UpdateMusicEntry ; CPU:$E5A6 PRG:25A6 D0 03 + jsr $E7AB ; CPU:$E5A8 PRG:25A8 20 AB E7 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicEntry: + rts ; CPU:$E5AB PRG:25AB 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2: + lda Zp30 ; CPU:$E5AC PRG:25AC A5 30 + beq UpdateMusicCallE4E2Alt2 ; CPU:$E5AE PRG:25AE F0 34 + lda Zp36 ; CPU:$E5B0 PRG:25B0 A5 36 + sta ZpB4 ; CPU:$E5B2 PRG:25B2 85 B4 + lda Zp35 ; CPU:$E5B4 PRG:25B4 A5 35 + asl a ; CPU:$E5B6 PRG:25B6 0A + tay ; CPU:$E5B7 PRG:25B7 A8 + lda #$13 ; CPU:$E5B8 PRG:25B8 A9 13 + sta Zp12 ; CPU:$E5BA PRG:25BA 85 12 + lda #$E8 ; CPU:$E5BC PRG:25BC A9 E8 + sta Zp13 ; CPU:$E5BE PRG:25BE 85 13 + lda (Zp12),y ; CPU:$E5C0 PRG:25C0 B1 12 + sta Zp10 ; CPU:$E5C2 PRG:25C2 85 10 + iny ; CPU:$E5C4 PRG:25C4 C8 + lda (Zp12),y ; CPU:$E5C5 PRG:25C5 B1 12 + sta Zp11 ; CPU:$E5C7 PRG:25C7 85 11 + ldy #$00 ; CPU:$E5C9 PRG:25C9 A0 00 + sty Zp1A ; CPU:$E5CB PRG:25CB 84 1A +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5AC: + ldy Zp1A ; CPU:$E5CD PRG:25CD A4 1A + lda (Zp10),y ; CPU:$E5CF PRG:25CF B1 10 + cmp #$00 ; CPU:$E5D1 PRG:25D1 C9 00 + bne UpdateMusicCallE5ACAlt ; CPU:$E5D3 PRG:25D3 D0 10 + ldx ZpB4 ; CPU:$E5D5 PRG:25D5 A6 B4 + lda #$F4 ; CPU:$E5D7 PRG:25D7 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt: + cpx Zp37 ; CPU:$E5D9 PRG:25D9 E4 37 + beq UpdateMusicCallE4E2Alt2 ; CPU:$E5DB PRG:25DB F0 07 + sta $0200,x ; CPU:$E5DD PRG:25DD 9D 00 02 + inx ; CPU:$E5E0 PRG:25E0 E8 + jmp $E5D9 ; CPU:$E5E1 PRG:25E1 4C D9 E5 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt2: + rts ; CPU:$E5E4 PRG:25E4 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt: + sta Zp13 ; CPU:$E5E5 PRG:25E5 85 13 + iny ; CPU:$E5E7 PRG:25E7 C8 + lda (Zp10),y ; CPU:$E5E8 PRG:25E8 B1 10 + iny ; CPU:$E5EA PRG:25EA C8 + sta Zp12 ; CPU:$E5EB PRG:25EB 85 12 + lda (Zp10),y ; CPU:$E5ED PRG:25ED B1 10 + iny ; CPU:$E5EF PRG:25EF C8 + jsr $E6CE ; CPU:$E5F0 PRG:25F0 20 CE E6 + bcc UpdateMusicCallE5ACAlt2 ; CPU:$E5F3 PRG:25F3 90 06 + jsr $E6FA ; CPU:$E5F5 PRG:25F5 20 FA E6 + sec ; CPU:$E5F8 PRG:25F8 38 + sbc #$08 ; CPU:$E5F9 PRG:25F9 E9 08 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt2: + clc ; CPU:$E5FB PRG:25FB 18 + adc Zp32 ; CPU:$E5FC PRG:25FC 65 32 + sta ZpB1 ; CPU:$E5FE PRG:25FE 85 B1 + lda (Zp10),y ; CPU:$E600 PRG:2600 B1 10 + iny ; CPU:$E602 PRG:2602 C8 + jsr $E6D4 ; CPU:$E603 PRG:2603 20 D4 E6 + bne UpdateMusicCallE4E2Alt3 ; CPU:$E606 PRG:2606 D0 06 + jsr $E6FA ; CPU:$E608 PRG:2608 20 FA E6 + sec ; CPU:$E60B PRG:260B 38 + sbc #$08 ; CPU:$E60C PRG:260C E9 08 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt3: + clc ; CPU:$E60E PRG:260E 18 + adc Zp33 ; CPU:$E60F PRG:260F 65 33 + sta ZpB2 ; CPU:$E611 PRG:2611 85 B2 + sty Zp1A ; CPU:$E613 PRG:2613 84 1A + ldy #$00 ; CPU:$E615 PRG:2615 A0 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicExit: + lda (Zp12),y ; CPU:$E617 PRG:2617 B1 12 + ldx #$00 ; CPU:$E619 PRG:2619 A2 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicAlt: + cmp #$00 ; CPU:$E61B PRG:261B C9 00 + beq UpdateMusicCallE5ACAlt3 ; CPU:$E61D PRG:261D F0 0E + ldx #$14 ; CPU:$E61F PRG:261F A2 14 + cmp #$01 ; CPU:$E621 PRG:2621 C9 01 + beq UpdateMusicCallE5ACAlt3 ; CPU:$E623 PRG:2623 F0 08 + ldx #$32 ; CPU:$E625 PRG:2625 A2 32 + cmp #$02 ; CPU:$E627 PRG:2627 C9 02 + beq UpdateMusicCallE5ACAlt3 ; CPU:$E629 PRG:2629 F0 02 + ldx #$5A ; CPU:$E62B PRG:262B A2 5A +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt3: + stx Zp1B ; CPU:$E62D PRG:262D 86 1B +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt4: + iny ; CPU:$E62F PRG:262F C8 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt4: + lda (Zp12),y ; CPU:$E630 PRG:2630 B1 12 + cmp #$FF ; CPU:$E632 PRG:2632 C9 FF + beq UpdateMusicCallE5AC ; CPU:$E634 PRG:2634 F0 97 + cmp #$FE ; CPU:$E636 PRG:2636 C9 FE + bne UpdateMusicCallE4E2Alt5 ; CPU:$E638 PRG:2638 D0 07 + inc Zp1B ; CPU:$E63A PRG:263A E6 1B + inc Zp1B ; CPU:$E63C PRG:263C E6 1B + jmp $E62F ; CPU:$E63E PRG:263E 4C 2F E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt5: + cmp #$FD ; CPU:$E641 PRG:2641 C9 FD + bne UpdateMusicCallE5ACAlt5 ; CPU:$E643 PRG:2643 D0 15 + iny ; CPU:$E645 PRG:2645 C8 + lda (Zp12),y ; CPU:$E646 PRG:2646 B1 12 + clc ; CPU:$E648 PRG:2648 18 + adc Zp3C ; CPU:$E649 PRG:2649 65 3C + sta ZpB3 ; CPU:$E64B PRG:264B 85 B3 + lda Zp38 ; CPU:$E64D PRG:264D A5 38 + beq UpdateMusicCallE4E2Alt4 ; CPU:$E64F PRG:264F F0 DE + lda ZpB3 ; CPU:$E651 PRG:2651 A5 B3 + ora #$20 ; CPU:$E653 PRG:2653 09 20 + sta ZpB3 ; CPU:$E655 PRG:2655 85 B3 + jmp $E62F ; CPU:$E657 PRG:2657 4C 2F E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt5: + ldx Zp1B ; CPU:$E65A PRG:265A A6 1B + lda $E8E5,x ; CPU:$E65C PRG:265C BD E5 E8 + inc Zp1B ; CPU:$E65F PRG:265F E6 1B + jsr $E6CE ; CPU:$E661 PRG:2661 20 CE E6 + bcc UpdateMusicCallE4E2Alt6 ; CPU:$E664 PRG:2664 90 03 + jsr $E6FA ; CPU:$E666 PRG:2666 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt6: + clc ; CPU:$E669 PRG:2669 18 + adc ZpB1 ; CPU:$E66A PRG:266A 65 B1 + jsr $E6DD ; CPU:$E66C PRG:266C 20 DD E6 + ldx ZpB4 ; CPU:$E66F PRG:266F A6 B4 + sta $0200,x ; CPU:$E671 PRG:2671 9D 00 02 + inc ZpB4 ; CPU:$E674 PRG:2674 E6 B4 + lda (Zp12),y ; CPU:$E676 PRG:2676 B1 12 + iny ; CPU:$E678 PRG:2678 C8 + ldx ZpB4 ; CPU:$E679 PRG:2679 A6 B4 + sta $0200,x ; CPU:$E67B PRG:267B 9D 00 02 + inc ZpB4 ; CPU:$E67E PRG:267E E6 B4 + lda ZpB3 ; CPU:$E680 PRG:2680 A5 B3 + ldx Zp34 ; CPU:$E682 PRG:2682 A6 34 + beq UpdateMusicLoopCallE4E2 ; CPU:$E684 PRG:2684 F0 22 + pha ; CPU:$E686 PRG:2686 48 + lda #$BF ; CPU:$E687 PRG:2687 A9 BF + cpx #$08 ; CPU:$E689 PRG:2689 E0 08 + beq UpdateMusicLoopEntry ; CPU:$E68B PRG:268B F0 08 + lda #$7F ; CPU:$E68D PRG:268D A9 7F + cpx #$80 ; CPU:$E68F PRG:268F E0 80 + beq UpdateMusicLoopEntry ; CPU:$E691 PRG:2691 F0 02 + lda #$3F ; CPU:$E693 PRG:2693 A9 3F +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopEntry: + sta Zp00 ; CPU:$E695 PRG:2695 85 00 + eor #$FF ; CPU:$E697 PRG:2697 49 FF + sta Zp01 ; CPU:$E699 PRG:2699 85 01 + pla ; CPU:$E69B PRG:269B 68 + and Zp00 ; CPU:$E69C PRG:269C 25 00 + sta Zp0C ; CPU:$E69E PRG:269E 85 0C + lda ZpB3 ; CPU:$E6A0 PRG:26A0 A5 B3 + and Zp01 ; CPU:$E6A2 PRG:26A2 25 01 + eor Zp01 ; CPU:$E6A4 PRG:26A4 45 01 + ora Zp0C ; CPU:$E6A6 PRG:26A6 05 0C +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2: + ldx ZpB4 ; CPU:$E6A8 PRG:26A8 A6 B4 + sta $0200,x ; CPU:$E6AA PRG:26AA 9D 00 02 + inc ZpB4 ; CPU:$E6AD PRG:26AD E6 B4 + ldx Zp1B ; CPU:$E6AF PRG:26AF A6 1B + lda $E8E5,x ; CPU:$E6B1 PRG:26B1 BD E5 E8 + inc Zp1B ; CPU:$E6B4 PRG:26B4 E6 1B + jsr $E6D4 ; CPU:$E6B6 PRG:26B6 20 D4 E6 + bne UpdateMusicLoopCallE5AC ; CPU:$E6B9 PRG:26B9 D0 03 + jsr $E6FA ; CPU:$E6BB PRG:26BB 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE5AC: + clc ; CPU:$E6BE PRG:26BE 18 + adc ZpB2 ; CPU:$E6BF PRG:26BF 65 B2 + jsr $E6E3 ; CPU:$E6C1 PRG:26C1 20 E3 E6 + ldx ZpB4 ; CPU:$E6C4 PRG:26C4 A6 B4 + sta $0200,x ; CPU:$E6C6 PRG:26C6 9D 00 02 + inc ZpB4 ; CPU:$E6C9 PRG:26C9 E6 B4 + jmp $E630 ; CPU:$E6CB PRG:26CB 4C 30 E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2Alt: + pha ; CPU:$E6CE PRG:26CE 48 + lda Zp34 ; CPU:$E6CF PRG:26CF A5 34 + rol a ; CPU:$E6D1 PRG:26D1 2A + pla ; CPU:$E6D2 PRG:26D2 68 + rts ; CPU:$E6D3 PRG:26D3 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoop: + pha ; CPU:$E6D4 PRG:26D4 48 + lda Zp34 ; CPU:$E6D5 PRG:26D5 A5 34 + asl a ; CPU:$E6D7 PRG:26D7 0A + tax ; CPU:$E6D8 PRG:26D8 AA + pla ; CPU:$E6D9 PRG:26D9 68 + cpx #$10 ; CPU:$E6DA PRG:26DA E0 10 + rts ; CPU:$E6DC PRG:26DC 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2Alt2: + pha ; CPU:$E6DD PRG:26DD 48 + lda Zp32 ; CPU:$E6DE PRG:26DE A5 32 + jmp $E6E6 ; CPU:$E6E0 PRG:26E0 4C E6 E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE5ACAlt: + pha ; CPU:$E6E3 PRG:26E3 48 + lda Zp33 ; CPU:$E6E4 PRG:26E4 A5 33 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2Alt3: + sta Zp0F ; CPU:$E6E6 PRG:26E6 85 0F + pla ; CPU:$E6E8 PRG:26E8 68 + pha ; CPU:$E6E9 PRG:26E9 48 + sec ; CPU:$E6EA PRG:26EA 38 + sbc Zp0F ; CPU:$E6EB PRG:26EB E5 0F + bcs UpdateMusicLoopCallE5ACAlt2 ; CPU:$E6ED PRG:26ED B0 03 + jsr $E6FA ; CPU:$E6EF PRG:26EF 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE5ACAlt2: + cmp #$30 ; CPU:$E6F2 PRG:26F2 C9 30 + pla ; CPU:$E6F4 PRG:26F4 68 + bcc UpdateMusicLoopCallE4E2Alt4 ; CPU:$E6F5 PRG:26F5 90 02 + lda #$FF ; CPU:$E6F7 PRG:26F7 A9 FF +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2Alt4: + rts ; CPU:$E6F9 PRG:26F9 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopExit: + eor #$FF ; CPU:$E6FA PRG:26FA 49 FF + clc ; CPU:$E6FC PRG:26FC 18 + adc #$01 ; CPU:$E6FD PRG:26FD 69 01 + rts ; CPU:$E6FF PRG:26FF 60 +; ---- data $E700-$E70B (12 bytes) ---- + .byte $B9, $32, $03, $85, $B1, $B9, $33, $03, $85, $B2, $85, $0C ; CPU:$E700 PRG:2700 B9 32 03 85 B1 B9 33 03 85 B2 85 0C +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataEntry: + pha ; CPU:$E70C PRG:270C 48 + jsr $D012 ; CPU:$E70D PRG:270D 20 12 D0 + jsr $C000 ; CPU:$E710 PRG:2710 20 00 C0 + pla ; CPU:$E713 PRG:2713 68 + sta Zp1B ; CPU:$E714 PRG:2714 85 1B + beq InitSpriteDataCallE4E2Alt ; CPU:$E716 PRG:2716 F0 4C + asl a ; CPU:$E718 PRG:2718 0A + tax ; CPU:$E719 PRG:2719 AA + lda $F949,x ; CPU:$E71A PRG:271A BD 49 F9 + sta Zp14 ; CPU:$E71D PRG:271D 85 14 + lda $F94A,x ; CPU:$E71F PRG:271F BD 4A F9 + sta Zp15 ; CPU:$E722 PRG:2722 85 15 + ldy #$01 ; CPU:$E724 PRG:2724 A0 01 + lda (Zp14),y ; CPU:$E726 PRG:2726 B1 14 + sta Zp0F ; CPU:$E728 PRG:2728 85 0F + ldx #$00 ; CPU:$E72A PRG:272A A2 00 + iny ; CPU:$E72C PRG:272C C8 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataLoop: + lda (Zp14),y ; CPU:$E72D PRG:272D B1 14 + sta $0500,x ; CPU:$E72F PRG:272F 9D 00 05 + iny ; CPU:$E732 PRG:2732 C8 + inx ; CPU:$E733 PRG:2733 E8 + dec Zp0F ; CPU:$E734 PRG:2734 C6 0F + bne InitSpriteDataLoop ; CPU:$E736 PRG:2736 D0 F5 + lda Zp1B ; CPU:$E738 PRG:2738 A5 1B + cmp #$01 ; CPU:$E73A PRG:273A C9 01 + bne InitSpriteDataCallE5AC ; CPU:$E73C PRG:273C D0 15 + lda ZpC1 ; CPU:$E73E PRG:273E A5 C1 + lsr a ; CPU:$E740 PRG:2740 4A + lsr a ; CPU:$E741 PRG:2741 4A + lsr a ; CPU:$E742 PRG:2742 4A + lsr a ; CPU:$E743 PRG:2743 4A + beq InitSpriteDataCallE4E2 ; CPU:$E744 PRG:2744 F0 03 + sta $0518 ; CPU:$E746 PRG:2746 8D 18 05 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2: + lda ZpC1 ; CPU:$E749 PRG:2749 A5 C1 + and #$0F ; CPU:$E74B PRG:274B 29 0F + sta $0519 ; CPU:$E74D PRG:274D 8D 19 05 + jmp $E777 ; CPU:$E750 PRG:2750 4C 77 E7 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5AC: + cmp #$05 ; CPU:$E753 PRG:2753 C9 05 + bne InitSpriteDataCallE4E2Alt2 ; CPU:$E755 PRG:2755 D0 20 + lda Zp0C ; CPU:$E757 PRG:2757 A5 0C + sta $0521 ; CPU:$E759 PRG:2759 8D 21 05 + lda Zp0D ; CPU:$E75C PRG:275C A5 0D + sta $0522 ; CPU:$E75E PRG:275E 8D 22 05 + jmp $E777 ; CPU:$E761 PRG:2761 4C 77 E7 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt: + ldx #$07 ; CPU:$E764 PRG:2764 A2 07 + lda #$32 ; CPU:$E766 PRG:2766 A9 32 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt: + sta $0501,x ; CPU:$E768 PRG:2768 9D 01 05 + dex ; CPU:$E76B PRG:276B CA + bpl InitSpriteDataCallE5ACAlt ; CPU:$E76C PRG:276C 10 FA + lda #$17 ; CPU:$E76E PRG:276E A9 17 + sta $0500 ; CPU:$E770 PRG:2770 8D 00 05 + ldx #$6D ; CPU:$E773 PRG:2773 A2 6D + bne InitSpriteDataCallE5ACAlt2 ; CPU:$E775 PRG:2775 D0 05 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt2: + ldy #$00 ; CPU:$E777 PRG:2777 A0 00 + lda (Zp14),y ; CPU:$E779 PRG:2779 B1 14 + tax ; CPU:$E77B PRG:277B AA +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt2: + ldy #$22 ; CPU:$E77C PRG:277C A0 22 + stx Zp07 ; CPU:$E77E PRG:277E 86 07 + jsr $D08E ; CPU:$E780 PRG:2780 20 8E D0 + ldx Zp07 ; CPU:$E783 PRG:2783 A6 07 + ldy #$26 ; CPU:$E785 PRG:2785 A0 26 + jmp $D08E ; CPU:$E787 PRG:2787 4C 8E D0 +; ---- data $E78A-$E792 (9 bytes) ---- + .byte $20, $77, $CC, $20, $84, $D0, $4C, $70, $D0 ; CPU:$E78A PRG:278A 20 77 CC 20 84 D0 4C 70 D0 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteData +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteData: + lda #$01 ; CPU:$E793 PRG:2793 A9 01 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E795 PRG:2795 D0 1A + lda #$80 ; CPU:$E797 PRG:2797 A9 80 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E799 PRG:2799 D0 16 + lda #$40 ; CPU:$E79B PRG:279B A9 40 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E79D PRG:279D D0 12 + lda #$20 ; CPU:$E79F PRG:279F A9 20 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A1 PRG:27A1 D0 0E + lda #$10 ; CPU:$E7A3 PRG:27A3 A9 10 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A5 PRG:27A5 D0 0A +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt3: + lda #$08 ; CPU:$E7A7 PRG:27A7 A9 08 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A9 PRG:27A9 D0 06 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt3: + lda #$04 ; CPU:$E7AB PRG:27AB A9 04 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7AD PRG:27AD D0 02 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt4: + lda #$02 ; CPU:$E7AF PRG:27AF A9 02 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt4: + ora ZpF0 ; CPU:$E7B1 PRG:27B1 05 F0 + sta ZpF0 ; CPU:$E7B3 PRG:27B3 85 F0 + rts ; CPU:$E7B5 PRG:27B5 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataExit: + lda #$08 ; CPU:$E7B6 PRG:27B6 A9 08 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7B8 PRG:27B8 D0 1C + lda #$01 ; CPU:$E7BA PRG:27BA A9 01 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7BC PRG:27BC D0 18 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt5: + lda #$04 ; CPU:$E7BE PRG:27BE A9 04 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C0 PRG:27C0 D0 14 + lda #$10 ; CPU:$E7C2 PRG:27C2 A9 10 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C4 PRG:27C4 D0 10 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt5: + lda #$80 ; CPU:$E7C6 PRG:27C6 A9 80 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C8 PRG:27C8 D0 0C + lda #$40 ; CPU:$E7CA PRG:27CA A9 40 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7CC PRG:27CC D0 08 + lda #$20 ; CPU:$E7CE PRG:27CE A9 20 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7D0 PRG:27D0 D0 04 + lda #$02 ; CPU:$E7D2 PRG:27D2 A9 02 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7D4 PRG:27D4 D0 00 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt6: + ora ZpF1 ; CPU:$E7D6 PRG:27D6 05 F1 + sta ZpF1 ; CPU:$E7D8 PRG:27D8 85 F1 + rts ; CPU:$E7DA PRG:27DA 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt6: + lda #$01 ; CPU:$E7DB PRG:27DB A9 01 + bne InitSoundCallE4E2 ; CPU:$E7DD PRG:27DD D0 1A + lda #$10 ; CPU:$E7DF PRG:27DF A9 10 + bne InitSoundCallE4E2 ; CPU:$E7E1 PRG:27E1 D0 16 + lda #$20 ; CPU:$E7E3 PRG:27E3 A9 20 + bne InitSoundCallE4E2 ; CPU:$E7E5 PRG:27E5 D0 12 + lda #$08 ; CPU:$E7E7 PRG:27E7 A9 08 + bne InitSoundCallE4E2 ; CPU:$E7E9 PRG:27E9 D0 0E + lda #$04 ; CPU:$E7EB PRG:27EB A9 04 + bne InitSoundCallE4E2 ; CPU:$E7ED PRG:27ED D0 0A +; ----------------------------------------------------------------------------- +; Routine: InitSound +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSound: + lda #$02 ; CPU:$E7EF PRG:27EF A9 02 + bne InitSoundCallE4E2 ; CPU:$E7F1 PRG:27F1 D0 06 + lda #$40 ; CPU:$E7F3 PRG:27F3 A9 40 + bne InitSoundCallE4E2 ; CPU:$E7F5 PRG:27F5 D0 02 +; ----------------------------------------------------------------------------- +; Routine: InitSoundEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundEntry: + lda #$80 ; CPU:$E7F7 PRG:27F7 A9 80 +; ----------------------------------------------------------------------------- +; Routine: InitSoundCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundCallE4E2: + ora ZpF2 ; CPU:$E7F9 PRG:27F9 05 F2 + sta ZpF2 ; CPU:$E7FB PRG:27FB 85 F2 + rts ; CPU:$E7FD PRG:27FD 60 +; ----------------------------------------------------------------------------- +; Routine: InitSoundExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundExit: + lda ZpA3 ; CPU:$E7FE PRG:27FE A5 A3 + bne InitSoundCallE5AC ; CPU:$E800 PRG:2800 D0 09 + lda ZpE6 ; CPU:$E802 PRG:2802 A5 E6 + bne InitSoundCallE5AC ; CPU:$E804 PRG:2804 D0 05 + inc ZpA3 ; CPU:$E806 PRG:2806 E6 A3 + jmp $E7F7 ; CPU:$E808 PRG:2808 4C F7 E7 +; ----------------------------------------------------------------------------- +; Routine: InitSoundCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundCallE5AC: + rts ; CPU:$E80B PRG:280B 60 +; ----------------------------------------------------------------------------- +; Routine: InitSoundExit_E80C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundExit_E80C: + lda #$00 ; CPU:$E80C PRG:280C A9 00 + sta ZpA3 ; CPU:$E80E PRG:280E 85 A3 + jmp $E7BE ; CPU:$E810 PRG:2810 4C BE E7 +; ---- data $E813-$FFFF (6125 bytes) ---- +; referenced by `lda $F68A,x` at $CA5E (operand $F68A falls inside this region) +; referenced by `lda $F5B2,y` at $CC8D (operand $F5B2 falls inside this region) +; referenced by `ldx $F5B3,y` at $CC90 (operand $F5B3 falls inside this region) +; referenced by `lda $F771,x` at $D178 (operand $F771 falls inside this region) +; referenced by `ldy $F772,x` at $D17B (operand $F772 falls inside this region) +; referenced by `lda $F940,y` at $DBAA (operand $F940 falls inside this region) +; ... and 13 further references from decoded code + .byte $4F, $E8, $54, $E8, $59, $E8, $5E, $E8, $63, $E8, $68, $E8, $6D, $E8, $72, $E8 ; CPU:$E813 PRG:2813 4F E8 54 E8 59 E8 5E E8 63 E8 68 E8 6D E8 72 E8 + .byte $77, $E8, $7C, $E8, $81, $E8, $86, $E8, $8B, $E8, $90, $E8, $95, $E8, $9A, $E8 ; CPU:$E823 PRG:2823 77 E8 7C E8 81 E8 86 E8 8B E8 90 E8 95 E8 9A E8 + .byte $9F, $E8, $A4, $E8, $DB, $E8, $E0, $E8, $A9, $E8, $AE, $E8, $B3, $E8, $B8, $E8 ; CPU:$E833 PRG:2833 9F E8 A4 E8 DB E8 E0 E8 A9 E8 AE E8 B3 E8 B8 E8 + .byte $BD, $E8, $C2, $E8, $C7, $E8, $CC, $E8, $D1, $E8, $D6, $E8, $E9, $57, $F2, $F8 ; CPU:$E843 PRG:2843 BD E8 C2 E8 C7 E8 CC E8 D1 E8 D6 E8 E9 57 F2 F8 + .byte $00, $E9, $6B, $F2, $F8, $00, $E9, $80, $F0, $F8, $00, $E9, $94, $F2, $F8, $00 ; CPU:$E853 PRG:2853 00 E9 6B F2 F8 00 E9 80 F0 F8 00 E9 94 F2 F8 00 + .byte $E9, $A8, $F0, $F8, $00, $E9, $B8, $F0, $F8, $00, $E9, $C8, $F0, $F8, $00, $E9 ; CPU:$E863 PRG:2863 E9 A8 F0 F8 00 E9 B8 F0 F8 00 E9 C8 F0 F8 00 E9 + .byte $D8, $F0, $F8, $00, $E9, $E8, $F0, $EC, $00, $EA, $02, $F0, $E8, $00, $EA, $1C ; CPU:$E873 PRG:2873 D8 F0 F8 00 E9 E8 F0 EC 00 EA 02 F0 E8 00 EA 1C + .byte $F0, $FD, $00, $EA, $31, $EE, $F8, $00, $EA, $4D, $F6, $F8, $00, $EA, $5F, $F0 ; CPU:$E883 PRG:2883 F0 FD 00 EA 31 EE F8 00 EA 4D F6 F8 00 EA 5F F0 + .byte $F8, $00, $EA, $81, $F3, $F8, $00, $EA, $9F, $F0, $FC, $00, $EA, $B3, $F0, $FC ; CPU:$E893 PRG:2893 F8 00 EA 81 F3 F8 00 EA 9F F0 FC 00 EA B3 F0 FC + .byte $00, $EA, $C7, $00, $06, $00, $EA, $DC, $FC, $F8, $00, $EA, $F5, $F2, $F4, $00 ; CPU:$E8A3 PRG:28A3 00 EA C7 00 06 00 EA DC FC F8 00 EA F5 F2 F4 00 + .byte $EB, $0A, $F1, $F8, $00, $EB, $1A, $F1, $F8, $00, $EB, $2A, $F0, $F0, $00, $EB ; CPU:$E8B3 PRG:28B3 EB 0A F1 F8 00 EB 1A F1 F8 00 EB 2A F0 F0 00 EB + .byte $44, $F0, $F0, $00, $EB, $5D, $F0, $F0, $00, $EB, $6D, $F2, $F4, $00, $EB, $82 ; CPU:$E8C3 PRG:28C3 44 F0 F0 00 EB 5D F0 F0 00 EB 6D F2 F4 00 EB 82 + .byte $F2, $F4, $00, $EB, $97, $F0, $F0, $00, $EB, $B0, $F4, $F8, $00, $EB, $BA, $F4 ; CPU:$E8D3 PRG:28D3 F2 F4 00 EB 97 F0 F0 00 EB B0 F4 F8 00 EB BA F4 + .byte $F8, $00, $00, $00, $00, $08, $08, $00, $08, $08, $10, $00, $10, $08, $18, $00 ; CPU:$E8E3 PRG:28E3 F8 00 00 00 00 08 08 00 08 08 10 00 10 08 18 00 + .byte $18, $08, $20, $00, $20, $08, $00, $00, $00, $08, $00, $10, $08, $00, $08, $08 ; CPU:$E8F3 PRG:28F3 18 08 20 00 20 08 00 00 00 08 00 10 08 00 08 08 + .byte $08, $10, $10, $00, $10, $08, $10, $10, $18, $00, $18, $08, $18, $10, $20, $00 ; CPU:$E903 PRG:2903 08 10 10 00 10 08 10 10 18 00 18 08 18 10 20 00 + .byte $20, $08, $20, $10, $00, $00, $00, $08, $00, $10, $00, $18, $08, $00, $08, $08 ; CPU:$E913 PRG:2913 20 08 20 10 00 00 00 08 00 10 00 18 08 00 08 08 + .byte $08, $10, $08, $18, $10, $00, $10, $08, $10, $10, $10, $18, $18, $00, $18, $08 ; CPU:$E923 PRG:2923 08 10 08 18 10 00 10 08 10 10 10 18 18 00 18 08 + .byte $18, $10, $18, $18, $20, $00, $20, $08, $20, $10, $20, $18, $00, $08, $00, $10 ; CPU:$E933 PRG:2933 18 10 18 18 20 00 20 08 20 10 20 18 00 08 00 10 + .byte $08, $08, $08, $10, $10, $08, $10, $10, $10, $00, $10, $18, $08, $00, $08, $18 ; CPU:$E943 PRG:2943 08 08 08 10 10 08 10 10 10 00 10 18 08 00 08 18 + .byte $00, $00, $00, $18, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91 ; CPU:$E953 PRG:2953 00 00 00 18 01 FD 00 05 00 FE 96 92 90 97 93 91 + .byte $FD, $02, $98, $94, $FE, $99, $95, $FF, $01, $FD, $00, $05, $00, $FE, $06, $01 ; CPU:$E963 PRG:2963 FD 02 98 94 FE 99 95 FF 01 FD 00 05 00 FE 06 01 + .byte $FE, $07, $02, $FE, $FD, $02, $8E, $8B, $87, $8F, $8C, $88, $FF, $01, $FD, $00 ; CPU:$E973 PRG:2973 FE 07 02 FE FD 02 8E 8B 87 8F 8C 88 FF 01 FD 00 + .byte $05, $00, $FE, $06, $89, $85, $8D, $8A, $86, $FD, $02, $11, $0C, $FE, $12, $0D ; CPU:$E983 PRG:2983 05 00 FE 06 89 85 8D 8A 86 FD 02 11 0C FE 12 0D + .byte $FF, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91, $FD, $02, $9C ; CPU:$E993 PRG:2993 FF 01 FD 00 05 00 FE 96 92 90 97 93 91 FD 02 9C + .byte $9A, $FE, $9D, $9B, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9A3 PRG:29A3 9A FE 9D 9B FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 + .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9B3 PRG:29B3 08 03 09 04 FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 + .byte $11, $0C, $12, $0D, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9C3 PRG:29C3 11 0C 12 0D FF 00 FD 00 05 00 06 01 07 02 FD 02 + .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9D3 PRG:29D3 08 03 09 04 FF 00 FD 00 05 00 06 01 07 02 FD 02 + .byte $11, $0C, $12, $0D, $FF, $02, $FD, $00, $1E, $1B, $16, $FE, $1F, $1C, $17, $FE ; CPU:$E9E3 PRG:29E3 11 0C 12 0D FF 02 FD 00 1E 1B 16 FE 1F 1C 17 FE + .byte $FE, $1D, $18, $13, $FD, $02, $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $02 ; CPU:$E9F3 PRG:29F3 FE 1D 18 13 FD 02 FE FE 19 14 FE FE 1A 15 FF 02 + .byte $FD, $00, $FE, $24, $21, $FE, $FE, $25, $22, $FE, $27, $26, $23, $13, $FD, $02 ; CPU:$EA03 PRG:2A03 FD 00 FE 24 21 FE FE 25 22 FE 27 26 23 13 FD 02 + .byte $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $01, $FD, $00, $FE, $36, $00, $FE ; CPU:$EA13 PRG:2A13 FE FE 19 14 FE FE 1A 15 FF 01 FD 00 FE 36 00 FE + .byte $37, $32, $FE, $38, $33, $FD, $02, $3B, $39, $34, $3C, $3A, $35, $FF, $02, $FD ; CPU:$EA23 PRG:2A23 37 32 FE 38 33 FD 02 3B 39 34 3C 3A 35 FF 02 FD + .byte $00, $FE, $FE, $3F, $3D, $FE, $43, $40, $3E, $FE, $44, $41, $FE, $FD, $02, $47 ; CPU:$EA33 PRG:2A33 00 FE FE 3F 3D FE 43 40 3E FE 44 41 FE FD 02 47 + .byte $45, $FD, $00, $42, $FE, $FD, $02, $48, $46, $FF, $01, $FD, $00, $51, $4D, $49 ; CPU:$EA43 PRG:2A43 45 FD 00 42 FE FD 02 48 46 FF 01 FD 00 51 4D 49 + .byte $52, $4E, $4A, $FD, $02, $FE, $4F, $4B, $FE, $50, $4C, $FF, $03, $FD, $02, $FE ; CPU:$EA53 PRG:2A53 52 4E 4A FD 02 FE 4F 4B FE 50 4C FF 03 FD 02 FE + .byte $6F, $FD, $00, $6B, $FE, $FD, $02, $FE, $70, $FD, $00, $6C, $68, $FD, $02, $72 ; CPU:$EA63 PRG:2A63 6F FD 00 6B FE FD 02 FE 70 FD 00 6C 68 FD 02 72 + .byte $71, $FD, $00, $6D, $69, $FD, $02, $73, $FE, $FD, $00, $6E, $6A, $FF, $02, $FD ; CPU:$EA73 PRG:2A73 71 FD 00 6D 69 FD 02 73 FE FD 00 6E 6A FF 02 FD + .byte $02, $FE, $76, $FE, $FE, $7A, $77, $FD, $00, $73, $70, $FD, $02, $FE, $78, $FD ; CPU:$EA83 PRG:2A83 02 FE 76 FE FE 7A 77 FD 00 73 70 FD 02 FE 78 FD + .byte $00, $74, $71, $FD, $02, $FE, $79, $FD, $00, $75, $72, $FF, $01, $FD, $00, $05 ; CPU:$EA93 PRG:2A93 00 74 71 FD 02 FE 79 FD 00 75 72 FF 01 FD 00 05 + .byte $00, $FE, $2E, $B3, $B2, $2F, $B4, $FE, $FD, $02, $30, $2C, $FE, $31, $2D, $FF ; CPU:$EAA3 PRG:2AA3 00 FE 2E B3 B2 2F B4 FE FD 02 30 2C FE 31 2D FF + .byte $01, $FD, $00, $05, $00, $FE, $2E, $2A, $28, $2F, $2B, $29, $FD, $02, $30, $2C ; CPU:$EAB3 PRG:2AB3 01 FD 00 05 00 FE 2E 2A 28 2F 2B 29 FD 02 30 2C + .byte $FE, $31, $2D, $FF, $01, $FD, $02, $62, $5F, $5C, $FD, $00, $63, $FD, $02, $60 ; CPU:$EAC3 PRG:2AC3 FE 31 2D FF 01 FD 02 62 5F 5C FD 00 63 FD 02 60 + .byte $5D, $FD, $00, $64, $61, $FD, $02, $5E, $FF, $02, $FD, $02, $FE, $80, $FD, $00 ; CPU:$EAD3 PRG:2AD3 5D FD 00 64 61 FD 02 5E FF 02 FD 02 FE 80 FD 00 + .byte $7D, $7B, $FD, $02, $83, $81, $FD, $00, $7E, $7C, $FD, $02, $84, $82, $FD, $00 ; CPU:$EAE3 PRG:2AE3 7D 7B FD 02 83 81 FD 00 7E 7C FD 02 84 82 FD 00 + .byte $7F, $FF, $01, $FD, $00, $A7, $A2, $FE, $A8, $A3, $9E, $A9, $A4, $9F, $FD, $02 ; CPU:$EAF3 PRG:2AF3 7F FF 01 FD 00 A7 A2 FE A8 A3 9E A9 A4 9F FD 02 + .byte $AA, $A5, $A0, $AB, $A6, $A1, $FF, $00, $FD, $00, $B9, $B6, $BA, $B7, $BB, $B8 ; CPU:$EB03 PRG:2B03 AA A5 A0 AB A6 A1 FF 00 FD 00 B9 B6 BA B7 BB B8 + .byte $FD, $02, $98, $94, $99, $95, $FF, $00, $FD, $00, $BF, $BC, $C0, $BD, $C1, $BE ; CPU:$EB13 PRG:2B13 FD 02 98 94 99 95 FF 00 FD 00 BF BC C0 BD C1 BE + .byte $FD, $02, $98, $94, $99, $95, $FF, $02, $FD, $00, $FE, $DB, $DE, $E3, $FE, $DC ; CPU:$EB23 PRG:2B23 FD 02 98 94 99 95 FF 02 FD 00 FE DB DE E3 FE DC + .byte $DF, $E4, $DA, $DD, $E0, $FD, $02, $E5, $FE, $FE, $E1, $E6, $FE, $FE, $E2, $E7 ; CPU:$EB33 PRG:2B33 DF E4 DA DD E0 FD 02 E5 FE FE E1 E6 FE FE E2 E7 + .byte $FF, $02, $FD, $00, $FE, $CE, $D3, $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9 ; CPU:$EB43 PRG:2B43 FF 02 FD 00 FE CE D3 FE CA CF D4 D8 CB D0 D5 D9 + .byte $FD, $02, $CC, $D1, $D6, $FE, $CD, $D2, $D7, $FF, $02, $FD, $00, $FE, $6B, $20 ; CPU:$EB53 PRG:2B53 FD 02 CC D1 D6 FE CD D2 D7 FF 02 FD 00 FE 6B 20 + .byte $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9, $FF, $01, $FD, $00, $B0, $AE, $AC ; CPU:$EB63 PRG:2B63 FE CA CF D4 D8 CB D0 D5 D9 FF 01 FD 00 B0 AE AC + .byte $B1, $AF, $AD, $A9, $A4, $9F, $FD, $02, $AA, $A5, $A0, $AB, $A6, $A1, $FF, $01 ; CPU:$EB73 PRG:2B73 B1 AF AD A9 A4 9F FD 02 AA A5 A0 AB A6 A1 FF 01 + .byte $FD, $00, $59, $56, $53, $5A, $57, $54, $FE, $58, $55, $FD, $02, $AA, $A5, $A0 ; CPU:$EB83 PRG:2B83 FD 00 59 56 53 5A 57 54 FE 58 55 FD 02 AA A5 A0 + .byte $AB, $A6, $A1, $FF, $02, $FD, $00, $FE, $6B, $20, $FE, $CA, $CF, $D4, $D8, $CB ; CPU:$EB93 PRG:2B93 AB A6 A1 FF 02 FD 00 FE 6B 20 FE CA CF D4 D8 CB + .byte $D0, $D5, $D9, $FD, $02, $FE, $C9, $D6, $FE, $FE, $48, $C8, $FF, $03, $FD, $00 ; CPU:$EBA3 PRG:2BA3 D0 D5 D9 FD 02 FE C9 D6 FE FE 48 C8 FF 03 FD 00 + .byte $65, $65, $66, $66, $67, $67, $FF, $03, $FD, $00, $68, $68, $69, $69, $6A, $6A ; CPU:$EBB3 PRG:2BB3 65 65 66 66 67 67 FF 03 FD 00 68 68 69 69 6A 6A + .byte $FF, $20, $00, $C6, $31, $20, $01, $45, $31, $20, $21, $C4, $31, $20, $22, $44 ; CPU:$EBC3 PRG:2BC3 FF 20 00 C6 31 20 01 45 31 20 21 C4 31 20 22 44 + .byte $31, $20, $42, $C3, $31, $20, $43, $43, $31, $20, $63, $C4, $31, $20, $65, $C3 ; CPU:$EBD3 PRG:2BD3 31 20 42 C3 31 20 43 43 31 20 63 C4 31 20 65 C3 + .byte $31, $20, $C0, $C3, $37, $20, $A1, $C4, $3E, $21, $20, $42, $32, $21, $40, $42 ; CPU:$EBE3 PRG:2BE3 31 20 C0 C3 37 20 A1 C4 3E 21 20 42 32 21 40 42 + .byte $36, $21, $60, $42, $34, $21, $80, $42, $36, $21, $A0, $42, $34, $21, $C0, $C4 ; CPU:$EBF3 PRG:2BF3 36 21 60 42 34 21 80 42 36 21 A0 42 34 21 C0 C4 + .byte $32, $21, $C1, $C4, $32, $20, $A2, $C3, $3E, $20, $E3, $02, $3E, $35, $21, $02 ; CPU:$EC03 PRG:2C03 32 21 C1 C4 32 20 A2 C3 3E 20 E3 02 3E 35 21 02 + .byte $43, $36, $21, $22, $43, $34, $21, $42, $42, $36, $21, $62, $42, $34, $21, $82 ; CPU:$EC13 PRG:2C13 43 36 21 22 43 34 21 42 42 36 21 62 42 34 21 82 + .byte $C6, $32, $21, $83, $C6, $32, $20, $64, $84, $43, $42, $37, $37, $21, $44, $02 ; CPU:$EC23 PRG:2C23 C6 32 21 83 C6 32 20 64 84 43 42 37 37 21 44 02 + .byte $32, $34, $21, $64, $87, $45, $47, $49, $4B, $4B, $4D, $4F, $21, $65, $87, $44 ; CPU:$EC33 PRG:2C33 32 34 21 64 87 45 47 49 4B 4B 4D 4F 21 65 87 44 + .byte $46, $48, $4A, $4A, $4C, $4E, $20, $C5, $C3, $3E, $21, $25, $01, $36, $20, $1A ; CPU:$EC43 PRG:2C43 46 48 4A 4A 4C 4E 20 C5 C3 3E 21 25 01 36 20 1A + .byte $C6, $31, $20, $1B, $45, $31, $20, $3B, $C2, $31, $20, $3C, $44, $31, $20, $5C ; CPU:$EC53 PRG:2C53 C6 31 20 1B 45 31 20 3B C2 31 20 3C 44 31 20 5C + .byte $C5, $31, $20, $5D, $43, $31, $20, $7D, $43, $31, $20, $9E, $C4, $31, $20, $9F ; CPU:$EC63 PRG:2C63 C5 31 20 5D 43 31 20 7D 43 31 20 9E C4 31 20 9F + .byte $C3, $31, $20, $7B, $85, $43, $42, $37, $37, $37, $20, $FC, $42, $3E, $20, $9D ; CPU:$EC73 PRG:2C73 C3 31 20 7B 85 43 42 37 37 37 20 FC 42 3E 20 9D + .byte $83, $43, $42, $37, $21, $1B, $43, $36, $21, $3B, $43, $34, $21, $5C, $42, $36 ; CPU:$EC83 PRG:2C83 83 43 42 37 21 1B 43 36 21 3B 43 34 21 5C 42 36 + .byte $21, $5B, $01, $32, $20, $DA, $C4, $38, $21, $5A, $88, $32, $45, $47, $49, $4B ; CPU:$EC93 PRG:2C93 21 5B 01 32 20 DA C4 38 21 5A 88 32 45 47 49 4B + .byte $4B, $4D, $4F, $21, $7B, $87, $44, $46, $48, $4A, $4A, $4C, $4E, $21, $7C, $42 ; CPU:$ECA3 PRG:2CA3 4B 4D 4F 21 7B 87 44 46 48 4A 4A 4C 4E 21 7C 42 + .byte $34, $21, $9C, $C6, $32, $21, $9D, $C6, $32, $21, $1E, $84, $3E, $36, $34, $36 ; CPU:$ECB3 PRG:2CB3 34 21 9C C6 32 21 9D C6 32 21 1E 84 3E 36 34 36 + .byte $21, $BE, $C5, $32, $21, $9E, $01, $34, $20, $FF, $87, $37, $37, $36, $34, $36 ; CPU:$ECC3 PRG:2CC3 21 BE C5 32 21 9E 01 34 20 FF 87 37 37 36 34 36 + .byte $34, $32, $21, $DF, $C4, $32, $20, $06, $01, $80, $20, $07, $53, $82, $20, $26 ; CPU:$ECD3 PRG:2CD3 34 32 21 DF C4 32 20 06 01 80 20 07 53 82 20 26 + .byte $14, $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$ECE3 PRG:2CE3 14 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 + .byte $82, $82, $82, $82, $84, $20, $46, $C5, $80, $20, $49, $C5, $82, $20, $4A, $C5 ; CPU:$ECF3 PRG:2CF3 82 82 82 82 84 20 46 C5 80 20 49 C5 82 20 4A C5 + .byte $82, $20, $4D, $C5, $82, $20, $4E, $C5, $82, $20, $51, $C5, $82, $20, $52, $C5 ; CPU:$ED03 PRG:2D03 82 20 4D C5 82 20 4E C5 82 20 51 C5 82 20 52 C5 + .byte $82, $20, $55, $C5, $82, $20, $56, $C5, $82, $20, $59, $C5, $84, $20, $E6, $08 ; CPU:$ED13 PRG:2D13 82 20 55 C5 82 20 56 C5 82 20 59 C5 84 20 E6 08 + .byte $86, $87, $87, $89, $86, $87, $87, $89, $20, $EE, $08, $86, $87, $87, $89, $86 ; CPU:$ED23 PRG:2D23 86 87 87 89 86 87 87 89 20 EE 08 86 87 87 89 86 + .byte $87, $87, $89, $20, $F6, $04, $86, $87, $87, $89, $21, $46, $54, $33, $22, $26 ; CPU:$ED33 PRG:2D33 87 87 89 20 F6 04 86 87 87 89 21 46 54 33 22 26 + .byte $54, $33, $21, $66, $C6, $33, $21, $87, $C4, $8B, $22, $07, $01, $8C, $22, $08 ; CPU:$ED43 PRG:2D43 54 33 21 66 C6 33 21 87 C4 8B 22 07 01 8C 22 08 + .byte $44, $8F, $21, $6D, $C6, $33, $21, $68, $44, $8D, $21, $6C, $01, $90, $21, $8C ; CPU:$ED53 PRG:2D53 44 8F 21 6D C6 33 21 68 44 8D 21 6C 01 90 21 8C + .byte $C4, $91, $22, $0C, $01, $92, $21, $4E, $04, $D6, $D7, $D7, $D8, $21, $6E, $04 ; CPU:$ED63 PRG:2D63 C4 91 22 0C 01 92 21 4E 04 D6 D7 D7 D8 21 6E 04 + .byte $93, $96, $93, $96, $21, $8E, $C4, $94, $22, $0E, $82, $95, $9B, $21, $8F, $86 ; CPU:$ED73 PRG:2D73 93 96 93 96 21 8E C4 94 22 0E 82 95 9B 21 8F 86 + .byte $97, $97, $98, $97, $99, $9C, $21, $90, $86, $94, $94, $9A, $94, $95, $9B, $21 ; CPU:$ED83 PRG:2D83 97 97 98 97 99 9C 21 90 86 94 94 9A 94 95 9B 21 + .byte $91, $C4, $97, $22, $11, $82, $99, $9C, $21, $72, $C6, $33, $21, $73, $01, $8A ; CPU:$ED93 PRG:2D93 91 C4 97 22 11 82 99 9C 21 72 C6 33 21 73 01 8A + .byte $21, $67, $01, $8A, $21, $74, $44, $8D, $21, $93, $C4, $8B, $22, $13, $01, $8C ; CPU:$EDA3 PRG:2DA3 21 67 01 8A 21 74 44 8D 21 93 C4 8B 22 13 01 8C + .byte $22, $14, $44, $8F, $21, $79, $C6, $33, $21, $78, $01, $90, $21, $98, $C4, $91 ; CPU:$EDB3 PRG:2DB3 22 14 44 8F 21 79 C6 33 21 78 01 90 21 98 C4 91 + .byte $22, $18, $01, $92, $21, $06, $54, $33, $21, $26, $54, $32, $21, $0B, $0A, $33 ; CPU:$EDC3 PRG:2DC3 22 18 01 92 21 06 54 33 21 26 54 32 21 0B 0A 33 + .byte $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $21, $46, $C8, $D2, $21, $4D, $C8 ; CPU:$EDD3 PRG:2DD3 FA F5 E8 EA F2 33 E9 E8 F9 21 46 C8 D2 21 4D C8 + .byte $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23, $C0, $20, $00, $CC, $FF, $FF ; CPU:$EDE3 PRG:2DE3 D2 21 52 C8 D2 21 59 C8 D2 23 C0 20 00 CC FF FF + .byte $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $88, $AA, $AA ; CPU:$EDF3 PRG:2DF3 FF FF 33 00 00 CC FF FF FF FF 33 00 00 88 AA AA + .byte $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $23, $E0, $08, $A0 ; CPU:$EE03 PRG:2E03 AA AA 22 00 00 88 AA AA AA AA 22 00 23 E0 08 A0 + .byte $A8, $AA, $AA, $AA, $AA, $A2, $A0, $24, $00, $C7, $31, $24, $01, $45, $31, $24 ; CPU:$EE13 PRG:2E13 A8 AA AA AA AA A2 A0 24 00 C7 31 24 01 45 31 24 + .byte $21, $C5, $31, $24, $22, $44, $31, $24, $42, $C6, $31, $24, $43, $43, $31, $24 ; CPU:$EE23 PRG:2E23 21 C5 31 24 22 44 31 24 42 C6 31 24 43 43 31 24 + .byte $63, $01, $31, $24, $64, $C6, $31, $24, $65, $C4, $31, $24, $E0, $83, $38, $36 ; CPU:$EE33 PRG:2E33 63 01 31 24 64 C6 31 24 65 C4 31 24 E0 83 38 36 + .byte $34, $25, $40, $C8, $32, $24, $C1, $86, $37, $37, $36, $34, $36, $34, $25, $81 ; CPU:$EE43 PRG:2E43 34 25 40 C8 32 24 C1 86 37 37 36 34 36 34 25 81 + .byte $C6, $32, $25, $02, $42, $3E, $25, $22, $42, $3E, $25, $42, $42, $36, $25, $62 ; CPU:$EE53 PRG:2E53 C6 32 25 02 42 3E 25 22 42 3E 25 42 42 36 25 62 + .byte $42, $34, $25, $82, $42, $36, $25, $A2, $42, $34, $25, $C2, $C4, $32, $25, $C3 ; CPU:$EE63 PRG:2E63 42 34 25 82 42 36 25 A2 42 34 25 C2 C4 32 25 C3 + .byte $C4, $32, $25, $24, $42, $36, $24, $C5, $C2, $37, $25, $44, $42, $34, $25, $64 ; CPU:$EE73 PRG:2E73 C4 32 25 24 42 36 24 C5 C2 37 25 44 42 34 25 64 + .byte $02, $DD, $DB, $25, $84, $02, $DE, $DC, $25, $A4, $C3, $4B, $25, $A5, $C3, $4A ; CPU:$EE83 PRG:2E83 02 DD DB 25 84 02 DE DC 25 A4 C3 4B 25 A5 C3 4A + .byte $26, $04, $02, $4D, $4C, $26, $24, $02, $4F, $4E, $24, $83, $83, $43, $42, $37 ; CPU:$EE93 PRG:2E93 26 04 02 4D 4C 26 24 02 4F 4E 24 83 83 43 42 37 + .byte $24, $1A, $C7, $31, $24, $1B, $45, $31, $24, $3B, $C5, $31, $24, $3C, $44, $31 ; CPU:$EEA3 PRG:2EA3 24 1A C7 31 24 1B 45 31 24 3B C5 31 24 3C 44 31 + .byte $24, $5C, $C4, $31, $24, $5D, $43, $31, $24, $7D, $C4, $31, $24, $7E, $42, $31 ; CPU:$EEB3 PRG:2EB3 24 5C C4 31 24 5D 43 31 24 7D C4 31 24 7E 42 31 + .byte $24, $FA, $C3, $37, $25, $5A, $83, $32, $DD, $DE, $25, $BA, $C3, $4B, $26, $1A ; CPU:$EEC3 PRG:2EC3 24 FA C3 37 25 5A 83 32 DD DE 25 BA C3 4B 26 1A + .byte $82, $4D, $4F, $24, $DB, $C5, $3E, $25, $7B, $82, $DB, $DC, $25, $BB, $C3, $4A ; CPU:$EED3 PRG:2ED3 82 4D 4F 24 DB C5 3E 25 7B 82 DB DC 25 BB C3 4A + .byte $26, $1B, $82, $4C, $4E, $24, $DC, $C4, $3E, $25, $5C, $43, $36, $25, $7C, $43 ; CPU:$EEE3 PRG:2EE3 26 1B 82 4C 4E 24 DC C4 3E 25 5C 43 36 25 7C 43 + .byte $34, $25, $9C, $43, $36, $25, $BC, $43, $34, $25, $DC, $C4, $32, $25, $DD, $C4 ; CPU:$EEF3 PRG:2EF3 34 25 9C 43 36 25 BC 43 34 25 DC C4 32 25 DD C4 + .byte $32, $24, $FD, $83, $39, $32, $3E, $25, $DE, $C4, $32, $24, $9E, $82, $43, $42 ; CPU:$EF03 PRG:2F03 32 24 FD 83 39 32 3E 25 DE C4 32 24 9E 82 43 42 + .byte $24, $9F, $C2, $31, $24, $DE, $C3, $37, $24, $DF, $C3, $3E, $25, $3F, $C9, $32 ; CPU:$EF13 PRG:2F13 24 9F C2 31 24 DE C3 37 24 DF C3 3E 25 3F C9 32 + .byte $25, $3E, $01, $35, $24, $E3, $01, $37, $25, $05, $01, $38, $25, $46, $C7, $80 ; CPU:$EF23 PRG:2F23 25 3E 01 35 24 E3 01 37 25 05 01 38 25 46 C7 80 + .byte $26, $26, $02, $81, $85, $25, $47, $C7, $84, $25, $48, $04, $8A, $8D, $8D, $90 ; CPU:$EF33 PRG:2F33 26 26 02 81 85 25 47 C7 84 25 48 04 8A 8D 8D 90 + .byte $25, $68, $C5, $8B, $26, $08, $04, $8C, $8F, $8F, $92, $26, $28, $44, $D3, $25 ; CPU:$EF43 PRG:2F43 25 68 C5 8B 26 08 04 8C 8F 8F 92 26 28 44 D3 25 + .byte $6B, $C5, $91, $25, $4C, $C7, $80, $26, $2C, $01, $81, $25, $4D, $C7, $84, $26 ; CPU:$EF53 PRG:2F53 6B C5 91 25 4C C7 80 26 2C 01 81 25 4D C7 84 26 + .byte $2D, $01, $85, $25, $4E, $44, $32, $25, $6E, $04, $93, $96, $93, $96, $25, $8E ; CPU:$EF63 PRG:2F63 2D 01 85 25 4E 44 32 25 6E 04 93 96 93 96 25 8E + .byte $C4, $94, $26, $0E, $04, $95, $99, $95, $99, $26, $2E, $04, $9B, $9C, $9B, $9C ; CPU:$EF73 PRG:2F73 C4 94 26 0E 04 95 99 95 99 26 2E 04 9B 9C 9B 9C + .byte $25, $8F, $C4, $97, $25, $90, $C4, $94, $25, $91, $C4, $97, $25, $CF, $02, $D9 ; CPU:$EF83 PRG:2F83 25 8F C4 97 25 90 C4 94 25 91 C4 97 25 CF 02 D9 + .byte $DA, $25, $52, $C7, $80, $25, $53, $C7, $84, $26, $32, $02, $81, $85, $25, $54 ; CPU:$EF93 PRG:2F93 DA 25 52 C7 80 25 53 C7 84 26 32 02 81 85 25 54 + .byte $04, $8A, $8D, $8D, $90, $25, $74, $C5, $8B, $26, $14, $04, $8C, $8F, $8F, $92 ; CPU:$EFA3 PRG:2FA3 04 8A 8D 8D 90 25 74 C5 8B 26 14 04 8C 8F 8F 92 + .byte $26, $34, $44, $D3, $25, $77, $C5, $91, $25, $58, $C7, $80, $25, $59, $C7, $84 ; CPU:$EFB3 PRG:2FB3 26 34 44 D3 25 77 C5 91 25 58 C7 80 25 59 C7 84 + .byte $26, $38, $02, $81, $85, $24, $06, $01, $80, $24, $07, $53, $82, $24, $26, $14 ; CPU:$EFC3 PRG:2FC3 26 38 02 81 85 24 06 01 80 24 07 53 82 24 26 14 + .byte $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$EFD3 PRG:2FD3 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 + .byte $82, $82, $82, $84, $24, $46, $C5, $80, $24, $49, $C5, $82, $24, $4A, $C5, $82 ; CPU:$EFE3 PRG:2FE3 82 82 82 84 24 46 C5 80 24 49 C5 82 24 4A C5 82 + .byte $24, $4D, $C5, $82, $24, $4E, $C5, $82, $24, $51, $C5, $82, $24, $52, $C5, $82 ; CPU:$EFF3 PRG:2FF3 24 4D C5 82 24 4E C5 82 24 51 C5 82 24 52 C5 82 + .byte $24, $55, $C5, $82, $24, $56, $C5, $82, $24, $59, $C5, $84, $24, $E6, $08, $86 ; CPU:$F003 PRG:3003 24 55 C5 82 24 56 C5 82 24 59 C5 84 24 E6 08 86 + .byte $87, $87, $89, $86, $87, $87, $89, $24, $EE, $08, $86, $87, $87, $89, $86, $87 ; CPU:$F013 PRG:3013 87 87 89 86 87 87 89 24 EE 08 86 87 87 89 86 87 + .byte $87, $89, $24, $F6, $04, $86, $87, $87, $89, $25, $06, $54, $33, $25, $26, $54 ; CPU:$F023 PRG:3023 87 89 24 F6 04 86 87 87 89 25 06 54 33 25 26 54 + .byte $32, $22, $45, $56, $A5, $22, $40, $45, $32, $22, $5B, $45, $32, $22, $60, $60 ; CPU:$F033 PRG:3033 32 22 45 56 A5 22 40 45 32 22 5B 45 32 22 60 60 + .byte $32, $22, $80, $60, $32, $26, $45, $56, $A5, $26, $40, $45, $32, $26, $5B, $45 ; CPU:$F043 PRG:3043 32 22 80 60 32 26 45 56 A5 26 40 45 32 26 5B 45 + .byte $32, $26, $60, $60, $32, $26, $80, $60, $32, $00, $22, $C2, $84, $C0, $C3, $C3 ; CPU:$F053 PRG:3053 32 26 60 60 32 26 80 60 32 00 22 C2 84 C0 C3 C3 + .byte $C4, $22, $C3, $5A, $BF, $22, $C9, $84, $BB, $BD, $BD, $BE, $22, $D6, $84, $C0 ; CPU:$F063 PRG:3063 C4 22 C3 5A BF 22 C9 84 BB BD BD BE 22 D6 84 C0 + .byte $C3, $C3, $C4, $22, $DD, $84, $BB, $BD, $BD, $BE, $22, $CD, $06, $E5, $E4, $E3 ; CPU:$F073 PRG:3073 C3 C3 C4 22 DD 84 BB BD BD BE 22 CD 06 E5 E4 E3 + .byte $E2, $E1, $E0, $23, $23, $46, $C2, $23, $37, $46, $C2, $23, $0C, $02, $C0, $BF ; CPU:$F083 PRG:3083 E2 E1 E0 23 23 46 C2 23 37 46 C2 23 0C 02 C0 BF + .byte $23, $2C, $01, $C3, $23, $4C, $82, $C3, $C4, $23, $6D, $46, $C2, $23, $12, $02 ; CPU:$F093 PRG:3093 23 2C 01 C3 23 4C 82 C3 C4 23 6D 46 C2 23 12 02 + .byte $BF, $BB, $23, $33, $01, $BD, $23, $53, $82, $BD, $BE, $23, $45, $03, $9E, $24 ; CPU:$F0A3 PRG:30A3 BF BB 23 33 01 BD 23 53 82 BD BE 23 45 03 9E 24 + .byte $03, $23, $59, $03, $9D, $24, $03, $23, $0E, $04, $1D, $12, $16, $0E, $26, $C2 ; CPU:$F0B3 PRG:30B3 03 23 59 03 9D 24 03 23 0E 04 1D 12 16 0E 26 C2 + .byte $84, $C0, $C3, $C3, $C4, $26, $C3, $5A, $BF, $26, $C9, $84, $BB, $BD, $BD, $BE ; CPU:$F0C3 PRG:30C3 84 C0 C3 C3 C4 26 C3 5A BF 26 C9 84 BB BD BD BE + .byte $26, $D6, $84, $C0, $C3, $C3, $C4, $26, $DD, $84, $BB, $BD, $BD, $BE, $26, $CD ; CPU:$F0D3 PRG:30D3 26 D6 84 C0 C3 C3 C4 26 DD 84 BB BD BD BE 26 CD + .byte $06, $E5, $E4, $E3, $E2, $E1, $E0, $27, $23, $46, $C2, $27, $37, $46, $C2, $27 ; CPU:$F0E3 PRG:30E3 06 E5 E4 E3 E2 E1 E0 27 23 46 C2 27 37 46 C2 27 + .byte $0C, $02, $C0, $BF, $27, $2C, $01, $C3, $27, $4C, $82, $C3, $C4, $27, $6D, $46 ; CPU:$F0F3 PRG:30F3 0C 02 C0 BF 27 2C 01 C3 27 4C 82 C3 C4 27 6D 46 + .byte $C2, $27, $12, $02, $BF, $BB, $27, $33, $01, $BD, $27, $53, $82, $BD, $BE, $27 ; CPU:$F103 PRG:3103 C2 27 12 02 BF BB 27 33 01 BD 27 53 82 BD BE 27 + .byte $45, $03, $9E, $24, $03, $27, $59, $03, $9D, $24, $03, $27, $0E, $04, $1D, $12 ; CPU:$F113 PRG:3113 45 03 9E 24 03 27 59 03 9D 24 03 27 0E 04 1D 12 + .byte $16, $0E, $23, $E8, $18, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5 ; CPU:$F123 PRG:3123 16 0E 23 E8 18 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 + .byte $FF, $FF, $A5, $A5, $A5, $55, $55, $55, $FF, $FF, $00, $00, $00, $27, $E8, $18 ; CPU:$F133 PRG:3133 FF FF A5 A5 A5 55 55 55 FF FF 00 00 00 27 E8 18 + .byte $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5, $FF, $FF, $A5, $A5, $A5 ; CPU:$F143 PRG:3143 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 FF FF A5 A5 A5 + .byte $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $22, $E2, $08, $C0, $E5, $E4, $E3 ; CPU:$F153 PRG:3153 55 55 55 FF FF 00 00 00 00 22 E2 08 C0 E5 E4 E3 + .byte $E2, $E1, $E0, $BB, $23, $02, $83, $C3, $C3, $C4, $23, $09, $83, $BD, $BD, $BE ; CPU:$F163 PRG:3163 E2 E1 E0 BB 23 02 83 C3 C3 C4 23 09 83 BD BD BE + .byte $23, $43, $46, $C2, $22, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $23 ; CPU:$F173 PRG:3173 23 43 46 C2 22 EC 08 C0 BF 1D 12 16 0E BF BB 23 + .byte $0C, $83, $C3, $C3, $C4, $23, $13, $83, $BD, $BD, $BE, $23, $4D, $46, $C2, $22 ; CPU:$F183 PRG:3183 0C 83 C3 C3 C4 23 13 83 BD BD BE 23 4D 46 C2 22 + .byte $D6, $06, $1B, $18, $1E, $17, $0D, $24, $23, $16, $05, $0C, $18, $16, $24, $03 ; CPU:$F193 PRG:3193 D6 06 1B 18 1E 17 0D 24 23 16 05 0C 18 16 24 03 + .byte $23, $36, $05, $22, $18, $1E, $24, $03, $26, $E2, $08, $C0, $E5, $E4, $E3, $E2 ; CPU:$F1A3 PRG:31A3 23 36 05 22 18 1E 24 03 26 E2 08 C0 E5 E4 E3 E2 + .byte $E1, $E0, $BB, $27, $02, $83, $C3, $C3, $C4, $27, $09, $83, $BD, $BD, $BE, $27 ; CPU:$F1B3 PRG:31B3 E1 E0 BB 27 02 83 C3 C3 C4 27 09 83 BD BD BE 27 + .byte $43, $46, $C2, $26, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $27, $0C ; CPU:$F1C3 PRG:31C3 43 46 C2 26 EC 08 C0 BF 1D 12 16 0E BF BB 27 0C + .byte $83, $C3, $C3, $C4, $27, $13, $83, $BD, $BD, $BE, $27, $4D, $46, $C2, $26, $D6 ; CPU:$F1D3 PRG:31D3 83 C3 C3 C4 27 13 83 BD BD BE 27 4D 46 C2 26 D6 + .byte $06, $1B, $18, $1E, $17, $0D, $24, $27, $16, $05, $0C, $18, $16, $24, $03, $27 ; CPU:$F1E3 PRG:31E3 06 1B 18 1E 17 0D 24 27 16 05 0C 18 16 24 03 27 + .byte $36, $05, $22, $18, $1E, $24, $03, $23, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A ; CPU:$F1F3 PRG:31F3 36 05 22 18 1E 24 03 23 E8 18 5A 5A 5A FA FA 5A + .byte $5A, $5A, $55, $55, $55, $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00 ; CPU:$F203 PRG:3203 5A 5A 55 55 55 FF FF AA AA AA 55 55 55 FF FF 00 + .byte $00, $00, $27, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A, $5A, $5A, $55, $55, $55 ; CPU:$F213 PRG:3213 00 00 27 E8 18 5A 5A 5A FA FA 5A 5A 5A 55 55 55 + .byte $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $21, $0A ; CPU:$F223 PRG:3223 FF FF AA AA AA 55 55 55 FF FF 00 00 00 00 21 0A + .byte $0E, $33, $E9, $E8, $F9, $E9, $EC, $F9, $33, $FA, $EF, $F6, $F7, $33, $33, $21 ; CPU:$F233 PRG:3233 0E 33 E9 E8 F9 E9 EC F9 33 FA EF F6 F7 33 33 21 + .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F243 PRG:3243 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 + .byte $C0, $20, $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F253 PRG:3253 C0 20 00 44 55 55 55 55 11 00 00 44 55 55 55 55 + .byte $11, $00, $00, $4C, $5F, $5F, $5F, $5F, $13, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F263 PRG:3263 11 00 00 4C 5F 5F 5F 5F 13 00 00 44 55 55 55 55 + .byte $11, $00, $23, $E0, $08, $A0, $A4, $A5, $A5, $A5, $A5, $A1, $A0, $00, $21, $0A ; CPU:$F273 PRG:3273 11 00 23 E0 08 A0 A4 A5 A5 A5 A5 A1 A0 00 21 0A + .byte $0E, $33, $33, $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $33, $33, $33, $21 ; CPU:$F283 PRG:3283 0E 33 33 FA F5 E8 EA F2 33 E9 E8 F9 33 33 33 21 + .byte $46, $C8, $D2, $21, $4D, $C8, $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23 ; CPU:$F293 PRG:3293 46 C8 D2 21 4D C8 D2 21 52 C8 D2 21 59 C8 D2 23 + .byte $C0, $20, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF ; CPU:$F2A3 PRG:32A3 C0 20 00 CC FF FF FF FF 33 00 00 CC FF FF FF FF + .byte $33, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2B3 PRG:32B3 33 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA + .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $AA, $AA, $AA, $A2, $A0, $00, $21, $0A ; CPU:$F2C3 PRG:32C3 22 00 23 E0 08 A0 A8 AA AA AA AA A2 A0 00 21 0A + .byte $0E, $33, $F9, $EC, $FA, $FB, $E8, $FC, $F9, $E8, $F5, $FB, $33, $33, $33, $21 ; CPU:$F2D3 PRG:32D3 0E 33 F9 EC FA FB E8 FC F9 E8 F5 FB 33 33 33 21 + .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F2E3 PRG:32E3 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 + .byte $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2F3 PRG:32F3 C0 20 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA + .byte $22, $00, $00, $84, $A5, $25, $85, $A5, $21, $00, $00, $88, $AA, $22, $88, $AA ; CPU:$F303 PRG:3303 22 00 00 84 A5 25 85 A5 21 00 00 88 AA 22 88 AA + .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $A2, $A8, $AA, $A2, $A0, $00, $25, $0A ; CPU:$F313 PRG:3313 22 00 23 E0 08 A0 A8 AA A2 A8 AA A2 A0 00 25 0A + .byte $0E, $33, $E9, $F6, $F6, $F2, $33, $FA, $FB, $F6, $F9, $EC, $33, $33, $33, $25 ; CPU:$F323 PRG:3323 0E 33 E9 F6 F6 F2 33 FA FB F6 F9 EC 33 33 33 25 + .byte $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F333 PRG:3333 4E 04 D6 D7 D7 D8 27 C0 20 00 88 AA AA AA AA 22 + .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F343 PRG:3343 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA 22 + .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $27, $E0, $08, $A0, $A8, $AA, $AA ; CPU:$F353 PRG:3353 00 00 88 AA AA AA AA 22 00 27 E0 08 A0 A8 AA AA + .byte $AA, $AA, $A2, $A0, $00, $25, $0A, $0E, $EB, $F0, $FA, $EA, $F6, $FC, $F5, $FB ; CPU:$F363 PRG:3363 AA AA A2 A0 00 25 0A 0E EB F0 FA EA F6 FC F5 FB + .byte $33, $FA, $EF, $F6, $F7, $33, $25, $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20 ; CPU:$F373 PRG:3373 33 FA EF F6 F7 33 25 4E 04 D6 D7 D7 D8 27 C0 20 + .byte $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55, $11, $00 ; CPU:$F383 PRG:3383 00 44 55 55 55 55 11 00 00 44 55 55 55 55 11 00 + .byte $00, $00, $00, $80, $20, $00, $00, $00, $00, $00, $00, $88, $22, $00, $00, $00 ; CPU:$F393 PRG:3393 00 00 00 80 20 00 00 00 00 00 00 88 22 00 00 00 + .byte $27, $E0, $08, $A0, $A0, $A0, $A8, $A2, $A0, $A0, $A0, $00, $20, $00, $60, $32 ; CPU:$F3A3 PRG:33A3 27 E0 08 A0 A0 A0 A8 A2 A0 A0 A0 00 20 00 60 32 + .byte $20, $20, $60, $32, $20, $40, $60, $32, $20, $60, $60, $32, $21, $40, $60, $32 ; CPU:$F3B3 PRG:33B3 20 20 60 32 20 40 60 32 20 60 60 32 21 40 60 32 + .byte $22, $20, $60, $32, $20, $80, $CD, $32, $20, $81, $CD, $32, $20, $82, $CD, $32 ; CPU:$F3C3 PRG:33C3 22 20 60 32 20 80 CD 32 20 81 CD 32 20 82 CD 32 + .byte $20, $83, $CD, $32, $20, $93, $CD, $32, $20, $9C, $CD, $32, $20, $9D, $CD, $32 ; CPU:$F3D3 PRG:33D3 20 83 CD 32 20 93 CD 32 20 9C CD 32 20 9D CD 32 + .byte $20, $9E, $CD, $32, $20, $9F, $CD, $32, $20, $94, $48, $31, $20, $B4, $47, $31 ; CPU:$F3E3 PRG:33E3 20 9E CD 32 20 9F CD 32 20 94 48 31 20 B4 47 31 + .byte $20, $D4, $47, $31, $20, $F4, $47, $31, $21, $14, $47, $31, $20, $84, $CC, $A0 ; CPU:$F3F3 PRG:33F3 20 D4 47 31 20 F4 47 31 21 14 47 31 20 84 CC A0 + .byte $20, $85, $CC, $A1, $20, $86, $CC, $A2, $20, $87, $CD, $A0, $20, $88, $8D, $33 ; CPU:$F403 PRG:3403 20 85 CC A1 20 86 CC A2 20 87 CD A0 20 88 8D 33 + .byte $A1, $A8, $A9, $A1, $A1, $32, $A1, $A1, $33, $A1, $A1, $A1, $20, $A9, $CC, $A2 ; CPU:$F413 PRG:3413 A1 A8 A9 A1 A1 32 A1 A1 33 A1 A1 A1 20 A9 CC A2 + .byte $20, $8A, $CD, $A0, $20, $8B, $8D, $33, $A1, $A8, $A9, $A1, $33, $32, $33, $A1 ; CPU:$F423 PRG:3423 20 8A CD A0 20 8B 8D 33 A1 A8 A9 A1 33 32 33 A1 + .byte $A1, $33, $A1, $A1, $20, $AC, $CC, $A2, $20, $AD, $CC, $A0, $20, $AE, $CC, $A1 ; CPU:$F433 PRG:3433 A1 33 A1 A1 20 AC CC A2 20 AD CC A0 20 AE CC A1 + .byte $20, $AF, $C5, $A2, $21, $8F, $C5, $A1, $20, $90, $CD, $A0, $20, $B1, $C5, $A1 ; CPU:$F443 PRG:3443 20 AF C5 A2 21 8F C5 A1 20 90 CD A0 20 B1 C5 A1 + .byte $21, $71, $C6, $A0, $20, $B2, $C5, $A2, $21, $72, $86, $33, $A1, $A1, $33, $AA ; CPU:$F453 PRG:3453 21 71 C6 A0 20 B2 C5 A2 21 72 86 33 A1 A1 33 AA + .byte $AA, $21, $73, $84, $A3, $A2, $A2, $A4, $21, $74, $C6, $A0, $21, $75, $C6, $A2 ; CPU:$F463 PRG:3463 AA 21 73 84 A3 A2 A2 A4 21 74 C6 A0 21 75 C6 A2 + .byte $21, $96, $C4, $A0, $21, $97, $C4, $A1, $21, $98, $C4, $A2, $21, $79, $C6, $A0 ; CPU:$F473 PRG:3473 21 96 C4 A0 21 97 C4 A1 21 98 C4 A2 21 79 C6 A0 + .byte $21, $9A, $C5, $A1, $21, $9B, $C5, $A2, $21, $24, $83, $A7, $32, $A6, $21, $05 ; CPU:$F483 PRG:3483 21 9A C5 A1 21 9B C5 A2 21 24 83 A7 32 A6 21 05 + .byte $84, $A8, $33, $32, $33, $21, $26, $83, $A4, $32, $A3, $20, $89, $84, $A3, $A2 ; CPU:$F493 PRG:3493 84 A8 33 32 33 21 26 83 A4 32 A3 20 89 84 A3 A2 + .byte $A4, $A3, $21, $6A, $01, $A6, $20, $8C, $88, $A3, $A2, $A4, $A3, $A2, $A4, $32 ; CPU:$F4A3 PRG:34A3 A4 A3 21 6A 01 A6 20 8C 88 A3 A2 A4 A3 A2 A4 32 + .byte $A3, $20, $8D, $01, $A6, $20, $8E, $84, $33, $A1, $A1, $33, $20, $8F, $01, $A3 ; CPU:$F4B3 PRG:34B3 A3 20 8D 01 A6 20 8E 84 33 A1 A1 33 20 8F 01 A3 + .byte $21, $6E, $03, $33, $33, $A3, $20, $91, $02, $33, $A3, $21, $76, $06, $A6, $33 ; CPU:$F4C3 PRG:34C3 21 6E 03 33 33 A3 20 91 02 33 A3 21 76 06 A6 33 + .byte $A3, $A0, $33, $A3, $22, $04, $03, $A7, $33, $A4, $22, $16, $03, $A7, $33, $A4 ; CPU:$F4D3 PRG:34D3 A3 A0 33 A3 22 04 03 A7 33 A4 22 16 03 A7 33 A4 + .byte $20, $22, $D1, $32, $20, $23, $D1, $32, $21, $44, $58, $32, $22, $24, $58, $32 ; CPU:$F4E3 PRG:34E3 20 22 D1 32 20 23 D1 32 21 44 58 32 22 24 58 32 + .byte $21, $A6, $01, $32, $21, $F3, $C2, $32, $21, $A5, $01, $AA, $21, $90, $C5, $A2 ; CPU:$F4F3 PRG:34F3 21 A6 01 32 21 F3 C2 32 21 A5 01 AA 21 90 C5 A2 + .byte $20, $96, $83, $43, $42, $37, $20, $F5, $02, $32, $37, $21, $15, $43, $36, $21 ; CPU:$F503 PRG:3503 20 96 83 43 42 37 20 F5 02 32 37 21 15 43 36 21 + .byte $34, $04, $32, $34, $34, $34, $20, $D8, $84, $32, $3E, $3E, $3E, $20, $D9, $84 ; CPU:$F513 PRG:3513 34 04 32 34 34 34 20 D8 84 32 3E 3E 3E 20 D9 84 + .byte $3E, $3E, $32, $3E, $20, $FA, $83, $38, $3E, $32, $20, $BB, $85, $43, $42, $37 ; CPU:$F523 PRG:3523 3E 3E 32 3E 20 FA 83 38 3E 32 20 BB 85 43 42 37 + .byte $37, $37, $22, $A6, $17, $10, $0A, $16, $0E, $2F, $0B, $2F, $2F, $2F, $2F, $02 ; CPU:$F533 PRG:3533 37 37 22 A6 17 10 0A 16 0E 2F 0B 2F 2F 2F 2F 02 + .byte $2F, $19, $15, $0A, $22, $0E, $1B, $2F, $10, $0A, $16, $0E, $22, $66, $16, $10 ; CPU:$F543 PRG:3543 2F 19 15 0A 22 0E 1B 2F 10 0A 16 0E 22 66 16 10 + .byte $0A, $16, $0E, $2F, $0A, $2F, $2F, $2F, $2F, $1F, $1C, $2B, $2F, $0C, $18, $16 ; CPU:$F553 PRG:3553 0A 16 0E 2F 0A 2F 2F 2F 2F 1F 1C 2B 2F 0C 18 16 + .byte $19, $1E, $1D, $0E, $1B, $22, $EA, $0A, $1D, $18, $19, $2F, $1B, $18, $1E, $17 ; CPU:$F563 PRG:3563 19 1E 1D 0E 1B 22 EA 0A 1D 18 19 2F 1B 18 1E 17 + .byte $0D, $24, $23, $29, $0E, $25, $01, $09, $08, $04, $2F, $17, $12, $17, $1D, $0E ; CPU:$F573 PRG:3573 0D 24 23 29 0E 25 01 09 08 04 2F 17 12 17 1D 0E + .byte $17, $0D, $18, $23, $C0, $60, $00, $23, $E0, $08, $F0, $B0, $A0, $A0, $A0, $A0 ; CPU:$F583 PRG:3583 17 0D 18 23 C0 60 00 23 E0 08 F0 B0 A0 A0 A0 A0 + .byte $A0, $A0, $23, $E8, $08, $00, $0B, $0A, $0A, $0A, $0A, $0A, $0A, $23, $F0, $50 ; CPU:$F593 PRG:3593 A0 A0 23 E8 08 00 0B 0A 0A 0A 0A 0A 0A 23 F0 50 + .byte $FF, $23, $CD, $42, $55, $23, $D5, $42, $05, $22, $1C, $02, $2D, $2E, $00, $BE ; CPU:$F5A3 PRG:35A3 FF 23 CD 42 55 23 D5 42 05 22 1C 02 2D 2E 00 BE + .byte $F5, $D6, $F5, $FA, $F5, $1E, $F6, $42, $F6, $66, $F6, $3F, $00, $10, $0F, $0F ; CPU:$F5B3 PRG:35B3 F5 D6 F5 FA F5 1E F6 42 F6 66 F6 3F 00 10 0F 0F + .byte $11, $31, $0F, $02, $0F, $27, $0F, $16, $25, $23, $0F, $05, $20, $0F, $3F, $10 ; CPU:$F5C3 PRG:35C3 11 31 0F 02 0F 27 0F 16 25 23 0F 05 20 0F 3F 10 + .byte $50, $0F, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07, $38, $2B, $0F, $00 ; CPU:$F5D3 PRG:35D3 50 0F 00 3F 00 20 0F 21 0C 38 0F 07 38 2B 0F 00 + .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $36, $31, $0F, $1A, $36, $31, $0F, $1A ; CPU:$F5E3 PRG:35E3 10 30 0F 16 30 22 0F 02 36 31 0F 1A 36 31 0F 1A + .byte $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07 ; CPU:$F5F3 PRG:35F3 15 0C 0F 16 27 19 00 3F 00 20 0F 21 0C 38 0F 07 + .byte $38, $2B, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $34 ; CPU:$F603 PRG:3603 38 2B 0F 00 10 30 0F 16 30 22 0F 02 26 31 0F 34 + .byte $21, $11, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21 ; CPU:$F613 PRG:3613 21 11 0F 1A 15 0C 0F 16 27 19 00 3F 00 20 0F 21 + .byte $0C, $38, $0F, $09, $31, $29, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02 ; CPU:$F623 PRG:3623 0C 38 0F 09 31 29 0F 00 10 30 0F 16 30 22 0F 02 + .byte $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F ; CPU:$F633 PRG:3633 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 27 19 00 3F + .byte $00, $20, $0F, $21, $0C, $38, $0F, $22, $18, $07, $0F, $00, $10, $30, $0F, $16 ; CPU:$F643 PRG:3643 00 20 0F 21 0C 38 0F 22 18 07 0F 00 10 30 0F 16 + .byte $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16 ; CPU:$F653 PRG:3653 30 22 0F 02 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 + .byte $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $03, $18, $0B, $0F, $00 ; CPU:$F663 PRG:3663 27 19 00 3F 00 20 0F 21 0C 38 0F 03 18 0B 0F 00 + .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A ; CPU:$F673 PRG:3673 10 30 0F 16 30 22 0F 02 26 31 0F 19 36 32 0F 1A + .byte $15, $0C, $0F, $16, $27, $19, $00, $00, $01, $20, $00, $00, $01, $20, $00, $00 ; CPU:$F683 PRG:3683 15 0C 0F 16 27 19 00 00 01 20 00 00 01 20 00 00 + .byte $01, $20, $00, $01, $01, $7B, $C1, $00, $15, $60, $A0, $00, $03, $00, $00, $01 ; CPU:$F693 PRG:3693 01 20 00 01 01 7B C1 00 15 60 A0 00 03 00 00 01 + .byte $00, $00, $00, $01, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6A3 PRG:36A3 00 00 00 01 00 00 04 00 00 00 00 0A 00 00 05 00 + .byte $00, $00, $01, $01, $01, $7B, $3E, $08, $15, $A0, $E0, $00, $03, $00, $00, $00 ; CPU:$F6B3 PRG:36B3 00 00 01 01 01 7B 3E 08 15 A0 E0 00 03 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6C3 PRG:36C3 00 00 00 00 00 00 04 00 00 00 00 0A 00 00 05 00 + .byte $00, $00, $01, $01, $01, $3D, $78, $00, $13, $E0, $00, $01, $00, $03, $00, $00 ; CPU:$F6D3 PRG:36D3 00 00 01 01 01 3D 78 00 13 E0 00 01 00 03 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F6E3 PRG:36E3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $F4, $FE, $20, $04, $F4, $FD, $00, $68, $F4, $FC, $00, $70, $F4 ; CPU:$F6F3 PRG:36F3 00 00 00 F4 FE 20 04 F4 FD 00 68 F4 FC 00 70 F4 + .byte $FB, $00, $78, $F4, $F6, $00, $78, $F4, $F5, $00, $80, $F4, $F4, $00, $80, $F4 ; CPU:$F703 PRG:3703 FB 00 78 F4 F6 00 78 F4 F5 00 80 F4 F4 00 80 F4 + .byte $F3, $03, $80, $F4, $F2, $00, $88, $F4, $F1, $00, $88, $F4, $F0, $03, $88, $F4 ; CPU:$F713 PRG:3713 F3 03 80 F4 F2 00 88 F4 F1 00 88 F4 F0 03 88 F4 + .byte $EF, $00, $90, $F4, $EE, $00, $90, $F4, $ED, $00, $98, $F4, $EC, $00, $98, $F4 ; CPU:$F723 PRG:3723 EF 00 90 F4 EE 00 90 F4 ED 00 98 F4 EC 00 98 F4 + .byte $EB, $00, $A0, $F4, $F9, $00, $80, $F4, $F7, $00, $88, $F4, $FA, $01, $80, $F4 ; CPU:$F733 PRG:3733 EB 00 A0 F4 F9 00 80 F4 F7 00 88 F4 FA 01 80 F4 + .byte $F8, $01, $88, $2F, $4C, $78, $7A, $7C, $7E, $4E, $79, $7B, $7D, $7F, $CD, $CB ; CPU:$F743 PRG:3743 F8 01 88 2F 4C 78 7A 7C 7E 4E 79 7B 7D 7F CD CB + .byte $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $78, $7A, $7C, $7E, $4D, $79, $7B ; CPU:$F753 PRG:3753 C9 C7 C5 CE CC CA C8 C6 FF 78 7A 7C 7E 4D 79 7B + .byte $7D, $7F, $4F, $CD, $CB, $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $00, $00 ; CPU:$F763 PRG:3763 7D 7F 4F CD CB C9 C7 C5 CE CC CA C8 C6 FF 00 00 + .byte $31, $F2, $21, $F3, $81, $F2, $68, $F3, $D1, $F2, $AF, $F7, $B6, $F7, $BD, $F7 ; CPU:$F773 PRG:3773 31 F2 21 F3 81 F2 68 F3 D1 F2 AF F7 B6 F7 BD F7 + .byte $C4, $F7, $D7, $F7, $CE, $F7, $E0, $F7, $E3, $F7, $E6, $F7, $E9, $F7, $99, $F7 ; CPU:$F783 PRG:3783 C4 F7 D7 F7 CE F7 E0 F7 E3 F7 E6 F7 E9 F7 99 F7 + .byte $A6, $F7, $CB, $F7, $EC, $F7, $04, $02, $04, $00, $04, $01, $04, $06, $04, $00 ; CPU:$F793 PRG:3793 A6 F7 CB F7 EC F7 04 02 04 00 04 01 04 06 04 00 + .byte $04, $01, $FE, $04, $00, $04, $06, $04, $01, $04, $02, $FE, $20, $0F, $10, $08 ; CPU:$F7A3 PRG:37A3 04 01 FE 04 00 04 06 04 01 04 02 FE 20 0F 10 08 + .byte $01, $04, $FF, $20, $10, $10, $09, $01, $06, $FF, $10, $0F, $10, $08, $01, $04 ; CPU:$F7B3 PRG:37B3 01 04 FF 20 10 10 09 01 06 FF 10 0F 10 08 01 04 + .byte $FF, $10, $10, $10, $09, $01, $06, $FF, $15, $0A, $FF, $10, $06, $10, $06, $10 ; CPU:$F7C3 PRG:37C3 FF 10 10 10 09 01 06 FF 15 0A FF 10 06 10 06 10 + .byte $07, $10, $07, $FE, $10, $04, $10, $04, $10, $05, $10, $05, $FE, $20, $0B, $FF ; CPU:$F7D3 PRG:37D3 07 10 07 FE 10 04 10 04 10 05 10 05 FE 20 0B FF + .byte $20, $0C, $FF, $20, $16, $FF, $20, $17, $FF, $40, $19, $F0, $18, $FF, $02, $FF ; CPU:$F7E3 PRG:37E3 20 0C FF 20 16 FF 20 17 FF 40 19 F0 18 FF 02 FF + .byte $01, $02, $FF, $01, $02, $FF, $01, $02, $FF, $01, $02, $00, $01, $FD, $14, $02 ; CPU:$F7F3 PRG:37F3 01 02 FF 01 02 FF 01 02 FF 01 02 00 01 FD 14 02 + .byte $00, $01, $02, $00, $01, $02, $01, $01, $02, $01, $01, $02, $01, $01, $02, $01 ; CPU:$F803 PRG:3803 00 01 02 00 01 02 01 01 02 01 01 02 01 01 02 01 + .byte $01, $02, $01, $01, $02, $01, $01, $02, $02, $01, $FD, $0E, $02, $02, $01, $02 ; CPU:$F813 PRG:3813 01 02 01 01 02 01 01 02 02 01 FD 0E 02 02 01 02 + .byte $02, $01, $14, $00, $01, $FD, $11, $14, $F8, $00, $FD, $0C, $0F, $03, $10, $FF ; CPU:$F823 PRG:3823 02 01 14 00 01 FD 11 14 F8 00 FD 0C 0F 03 10 FF + .byte $02, $03, $01, $FE, $0E, $00, $0A, $FF, $08, $02, $01, $FD, $11, $08, $F8, $00 ; CPU:$F833 PRG:3833 02 03 01 FE 0E 00 0A FF 08 02 01 FD 11 08 F8 00 + .byte $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD ; CPU:$F843 PRG:3843 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD + .byte $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E ; CPU:$F853 PRG:3853 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E + .byte $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08 ; CPU:$F863 PRG:3863 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 + .byte $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08 ; CPU:$F873 PRG:3873 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 + .byte $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00 ; CPU:$F883 PRG:3883 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 + .byte $FF, $FD, $1D, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F893 PRG:3893 FF FD 1D 04 02 00 04 02 00 04 02 00 04 02 00 04 + .byte $02, $00, $04, $02, $00, $04, $02, $00, $FD, $1A, $04, $02, $00, $04, $02, $00 ; CPU:$F8A3 PRG:38A3 02 00 04 02 00 04 02 00 FD 1A 04 02 00 04 02 00 + .byte $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F8B3 PRG:38B3 04 02 00 04 02 00 04 02 00 04 02 00 04 02 00 04 + .byte $02, $00, $04, $02, $00, $04, $02, $00, $FF, $48, $EA, $23, $9C, $48, $C4, $61 ; CPU:$F8C3 PRG:38C3 02 00 04 02 00 04 02 00 FF 48 EA 23 9C 48 C4 61 + .byte $98, $48, $C4, $21, $A0, $40, $C6, $20, $98, $40, $C3, $20, $A0, $38, $C5, $20 ; CPU:$F8D3 PRG:38D3 98 48 C4 21 A0 40 C6 20 98 40 C3 20 A0 38 C5 20 + .byte $98, $38, $C2, $20, $A0, $08, $F8, $08, $08, $10, $00, $FF, $10, $F0, $18, $F8 ; CPU:$F8E3 PRG:38E3 98 38 C2 20 A0 08 F8 08 08 10 00 FF 10 F0 18 F8 + .byte $18, $08, $10, $10, $FF, $18, $E0, $20, $E8, $28, $F8, $20, $00, $28, $10, $FF ; CPU:$F8F3 PRG:38F3 18 08 10 10 FF 18 E0 20 E8 28 F8 20 00 28 10 FF + .byte $20, $D0, $30, $D8, $30, $E8, $38, $F0, $30, $00, $30, $18, $FF, $30, $C8, $40 ; CPU:$F903 PRG:3903 20 D0 30 D8 30 E8 38 F0 30 00 30 18 FF 30 C8 40 + .byte $E0, $40, $08, $48, $20, $FF, $38, $B0, $40, $C0, $50, $E8, $50, $00, $FF, $50 ; CPU:$F913 PRG:3913 E0 40 08 48 20 FF 38 B0 40 C0 50 E8 50 00 FF 50 + .byte $C8, $FF, $48, $98, $50, $B0, $FF, $50, $88, $58, $90, $60, $A8, $58, $B8, $60 ; CPU:$F923 PRG:3923 C8 FF 48 98 50 B0 FF 50 88 58 90 60 A8 58 B8 60 + .byte $C8, $60, $E0, $58, $F8, $60, $08, $58, $18, $60, $20, $60, $30, $FE, $2F, $1B ; CPU:$F933 PRG:3933 C8 60 E0 58 F8 60 08 58 18 60 20 60 30 FE 2F 1B + .byte $18, $1E, $17, $0D, $24, $2F, $2F, $2F, $4F, $F9, $75, $F9, $CD, $24, $57, $FF ; CPU:$F943 PRG:3943 18 1E 17 0D 24 2F 2F 2F 4F F9 75 F9 CD 24 57 FF + .byte $13, $13, $13, $13, $13, $1A, $D8, $1B, $18, $1E, $17, $0D, $21, $D8, $B7, $B7 ; CPU:$F953 PRG:3953 13 13 13 13 13 1A D8 1B 18 1E 17 0D 21 D8 B7 B7 + .byte $B7, $B7, $B7, $21, $D8, $B7, $B7, $B7, $B7, $B7, $21, $23, $FC, $FC, $FC, $FC ; CPU:$F963 PRG:3963 B7 B7 B7 21 D8 B7 B7 B7 B7 B7 21 23 FC FC FC FC + .byte $FC, $FD, $6B, $0B, $1A, $32, $32, $2F, $19, $0A, $1E, $1C, $0E, $2F, $32, $33 ; CPU:$F973 PRG:3973 FC FD 6B 0B 1A 32 32 2F 19 0A 1E 1C 0E 2F 32 33 + .byte $5A, $24, $FF, $13, $13, $13, $13, $13, $1A, $24, $24, $24, $D8, $B7, $B7, $B7 ; CPU:$F983 PRG:3983 5A 24 FF 13 13 13 13 13 1A 24 24 24 D8 B7 B7 B7 + .byte $B7, $B7, $21, $24, $24, $24, $D8, $19, $0A, $1E, $1C, $0E, $21, $24, $24, $24 ; CPU:$F993 PRG:3993 B7 B7 21 24 24 24 D8 19 0A 1E 1C 0E 21 24 24 24 + .byte $D8, $B7, $B7, $B7, $B7, $B7, $21, $24, $24, $24, $23, $FC, $FC, $FC, $FC, $FC ; CPU:$F9A3 PRG:39A3 D8 B7 B7 B7 B7 B7 21 24 24 24 23 FC FC FC FC FC + .byte $FD, $24, $24, $01, $01, $02, $03, $00, $50, $00, $00, $00, $02, $03, $01, $04 ; CPU:$F9B3 PRG:39B3 FD 24 24 01 01 02 03 00 50 00 00 00 02 03 01 04 + .byte $06, $02, $05, $07, $05, $08, $10, $15, $16, $20, $24, $30, $E3, $F9, $E7, $F9 ; CPU:$F9C3 PRG:39C3 06 02 05 07 05 08 10 15 16 20 24 30 E3 F9 E7 F9 + .byte $EB, $F9, $EF, $F9, $F3, $F9, $F7, $F9, $FB, $F9, $FF, $F9, $03, $FA, $07, $FA ; CPU:$F9D3 PRG:39D3 EB F9 EF F9 F3 F9 F7 F9 FB F9 FF F9 03 FA 07 FA + .byte $50, $52, $51, $53, $54, $56, $55, $57, $58, $5A, $59, $5B, $5C, $5E, $5D, $5F ; CPU:$F9E3 PRG:39E3 50 52 51 53 54 56 55 57 58 5A 59 5B 5C 5E 5D 5F + .byte $60, $62, $61, $63, $64, $66, $65, $67, $68, $6A, $69, $6B, $6C, $6E, $6D, $6F ; CPU:$F9F3 PRG:39F3 60 62 61 63 64 66 65 67 68 6A 69 6B 6C 6E 6D 6F + .byte $70, $72, $71, $73, $74, $76, $75, $77, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA03 PRG:3A03 70 72 71 73 74 76 75 77 FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA13 PRG:3A13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA23 PRG:3A23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA33 PRG:3A33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA43 PRG:3A43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA53 PRG:3A53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA63 PRG:3A63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA73 PRG:3A73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA83 PRG:3A83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA93 PRG:3A93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAA3 PRG:3AA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAB3 PRG:3AB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAC3 PRG:3AC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAD3 PRG:3AD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAE3 PRG:3AE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAF3 PRG:3AF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB03 PRG:3B03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB13 PRG:3B13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB23 PRG:3B23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB33 PRG:3B33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB43 PRG:3B43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB53 PRG:3B53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB63 PRG:3B63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB73 PRG:3B73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB83 PRG:3B83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB93 PRG:3B93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBA3 PRG:3BA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBB3 PRG:3BB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBC3 PRG:3BC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBD3 PRG:3BD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBE3 PRG:3BE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBF3 PRG:3BF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC03 PRG:3C03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC13 PRG:3C13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC23 PRG:3C23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC33 PRG:3C33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC43 PRG:3C43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC53 PRG:3C53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC63 PRG:3C63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC73 PRG:3C73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC83 PRG:3C83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC93 PRG:3C93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCA3 PRG:3CA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCB3 PRG:3CB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCC3 PRG:3CC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCD3 PRG:3CD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCE3 PRG:3CE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCF3 PRG:3CF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD03 PRG:3D03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD13 PRG:3D13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD23 PRG:3D23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD33 PRG:3D33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD43 PRG:3D43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD53 PRG:3D53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD63 PRG:3D63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD73 PRG:3D73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD83 PRG:3D83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD93 PRG:3D93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDA3 PRG:3DA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDB3 PRG:3DB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDC3 PRG:3DC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDD3 PRG:3DD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDE3 PRG:3DE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDF3 PRG:3DF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE03 PRG:3E03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE13 PRG:3E13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE23 PRG:3E23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE33 PRG:3E33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE43 PRG:3E43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE53 PRG:3E53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE63 PRG:3E63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE73 PRG:3E73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE83 PRG:3E83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE93 PRG:3E93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEA3 PRG:3EA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEB3 PRG:3EB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEC3 PRG:3EC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FED3 PRG:3ED3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEE3 PRG:3EE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEF3 PRG:3EF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF03 PRG:3F03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF13 PRG:3F13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF23 PRG:3F23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF33 PRG:3F33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF43 PRG:3F43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF53 PRG:3F53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF63 PRG:3F63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF73 PRG:3F73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF83 PRG:3F83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF93 PRG:3F93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFA3 PRG:3FA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFB3 PRG:3FB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFC3 PRG:3FC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFD3 PRG:3FD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE3 PRG:3FE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $91, $CA, $00, $CA, $00, $CA ; CPU:$FFF3 PRG:3FF3 FF FF FF FF FF FF FF 91 CA 00 CA 00 CA diff --git a/_wip/Urban Champion (JU)/copilot/prg2.s b/_wip/Urban Champion (JU)/copilot/prg2.s new file mode 100644 index 0000000..b3690af --- /dev/null +++ b/_wip/Urban Champion (JU)/copilot/prg2.s @@ -0,0 +1,7863 @@ +; Urban Champion (JU) NES disassembly - Pass 1 +; Byte-oriented ca65 source generated from the supplied PRG image. +; Recursively reachable instructions are emitted explicitly with address/byte comments. +; Unreached bytes remain explicit .byte blocks; no ROM byte is deleted or reformatted. +; Pass 2 replaces address-derived labels, RAM aliases, and table names while +; preserving byte identity. +; +; Vectors: NMI=$CA91 RESET=$CA00 IRQ=$CA00 +; PRG mapped at $C000-$FFFF (NROM, mirrored to the upper half) +; +; Pass 1 trace provenance (the audit trail behind every classification below): +; 34 further routine entries recovered from table references elsewhere in the image: +; $C026, $CEBE, $CEC5, $CF4F, $CF70, $CF92, $D05E, $D084, $D086, $D187, $D7DB, $D80C, $DAA7, $DBDD, $DCF6, $DEC9, $DF4C, $E1FD, $E2B9, $E2C9, $E40E, $E459, $E462, $E4A4, $E4E2, $E506, $E535, $E54A, $E617, $E61B, $E6D4, $E6FA, $E7B6, $E7FE +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $CA00, $CA91 +; $CB70-$CBAB forced back to data: the only path into it is a branch that is always taken +; indirect dispatch through zero page (not followed statically): +; jmp ($0014) at $CDFB +; jmp ($00EB) at $C318 +; jmp ($00ED) at $C332 +; +.setcpu "6502" + +.include "symbols.inc" +.include "locals.inc" + +.segment "PRG" + +; ----------------------------------------------------------------------------- +; Routine: Label_C000 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C000: + jmp $C335 ; CPU:$C000 PRG:0000 4C 35 C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C003 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C003: + jmp $C063 ; CPU:$C003 PRG:0003 4C 63 C0 +; ---- data $C006-$C025 (32 bytes) ---- + .byte $A8, $A5, $F3, $29, $02, $D0, $18, $A5, $EF, $29, $20, $D0, $12, $B9, $00, $C2 ; CPU:$C006 PRG:0006 A8 A5 F3 29 02 D0 18 A5 EF 29 20 D0 12 B9 00 C2 + .byte $8D, $0C, $40, $B9, $01, $C2, $8D, $0E, $40, $B9, $02, $C2, $8D, $0F, $40, $60 ; CPU:$C016 PRG:0016 8D 0C 40 B9 01 C2 8D 0E 40 B9 02 C2 8D 0F 40 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C026 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C026: + and #$0F ; CPU:$C026 PRG:0026 29 0F + clc ; CPU:$C028 PRG:0028 18 + adc ZpE5 ; CPU:$C029 PRG:0029 65 E5 + tay ; CPU:$C02B PRG:002B A8 + lda $C172,y ; CPU:$C02C PRG:002C B9 72 C1 + sta ZpDC,x ; CPU:$C02F PRG:002F 95 DC + rts ; CPU:$C031 PRG:0031 60 +; ---- data $C032-$C04D (28 bytes) ---- + .byte $A2, $00, $A8, $B9, $01, $C1, $F0, $0B, $9D, $02, $40, $B9, $00, $C1, $09, $08 ; CPU:$C032 PRG:0032 A2 00 A8 B9 01 C1 F0 0B 9D 02 40 B9 00 C1 09 08 + .byte $9D, $03, $40, $60, $A2, $04, $D0, $EA, $A2, $08, $D0, $E6 ; CPU:$C042 PRG:0042 9D 03 40 60 A2 04 D0 EA A2 08 D0 E6 +; ----------------------------------------------------------------------------- +; Routine: Label_C04E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C04E: + lda ZpE6 ; CPU:$C04E PRG:004E A5 E6 + lda #$00 ; CPU:$C050 PRG:0050 A9 00 + jsr $C358 ; CPU:$C052 PRG:0052 20 58 C3 + rts ; CPU:$C055 PRG:0055 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C056 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C056: + lda #$7F ; CPU:$C056 PRG:0056 A9 7F +; ----------------------------------------------------------------------------- +; Routine: Label_C058 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C058: + sta $4001 ; CPU:$C058 PRG:0058 8D 01 40 + sta $4005 ; CPU:$C05B PRG:005B 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C05E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C05E: + stx ZpE9 ; CPU:$C05E PRG:005E 86 E9 + sty ZpEA ; CPU:$C060 PRG:0060 84 EA + rts ; CPU:$C062 PRG:0062 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C063 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C063: + lda #$C2 ; CPU:$C063 PRG:0063 A9 C2 + sta ZpEE ; CPU:$C065 PRG:0065 85 EE + sta ZpEC ; CPU:$C067 PRG:0067 85 EC + rts ; CPU:$C069 PRG:0069 60 +; ---- data $C06A-$C06D (4 bytes) ---- + .byte $3A, $7F, $0E, $40 ; CPU:$C06A PRG:006A 3A 7F 0E 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C06E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C06E: + lda ZpF3 ; CPU:$C06E PRG:006E A5 F3 + and #$F8 ; CPU:$C070 PRG:0070 29 F8 + sta ZpF3 ; CPU:$C072 PRG:0072 85 F3 + lda ZpEF ; CPU:$C074 PRG:0074 A5 EF + ora #$20 ; CPU:$C076 PRG:0076 09 20 + sta ZpEF ; CPU:$C078 PRG:0078 85 EF + lda #$00 ; CPU:$C07A PRG:007A A9 00 + sta $010A ; CPU:$C07C PRG:007C 8D 0A 01 + ldx #$6A ; CPU:$C07F PRG:007F A2 6A + ldy #$C0 ; CPU:$C081 PRG:0081 A0 C0 + jsr $C195 ; CPU:$C083 PRG:0083 20 95 C1 + rts ; CPU:$C086 PRG:0086 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C087 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C087: + inc $010A ; CPU:$C087 PRG:0087 EE 0A 01 + ldy $010A ; CPU:$C08A PRG:008A AC 0A 01 + lda $C0A1,y ; CPU:$C08D PRG:008D B9 A1 C0 + sta $400C ; CPU:$C090 PRG:0090 8D 0C 40 + bne Label_C0A0 ; CPU:$C093 PRG:0093 D0 0B + lda ZpEF ; CPU:$C095 PRG:0095 A5 EF + and #$DF ; CPU:$C097 PRG:0097 29 DF + sta ZpEF ; CPU:$C099 PRG:0099 85 EF + lda #$10 ; CPU:$C09B PRG:009B A9 10 + sta $400C ; CPU:$C09D PRG:009D 8D 0C 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C0A0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0A0: + rts ; CPU:$C0A0 PRG:00A0 60 +; ---- data $C0A1-$C0AD (13 bytes) ---- +; referenced by `lda $C0A1,y` at $C08D (operand $C0A1 falls inside this region) + .byte $3F, $3F, $30, $3F, $30, $3F, $3F, $3A, $3F, $3F, $30, $3F, $00 ; CPU:$C0A1 PRG:00A1 3F 3F 30 3F 30 3F 3F 3A 3F 3F 30 3F 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C0AE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0AE: + jmp $C352 ; CPU:$C0AE PRG:00AE 4C 52 C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C0B1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0B1: + lda ZpF1 ; CPU:$C0B1 PRG:00B1 A5 F1 + and #$20 ; CPU:$C0B3 PRG:00B3 29 20 + bne Label_C06E ; CPU:$C0B5 PRG:00B5 D0 B7 + lda ZpEF ; CPU:$C0B7 PRG:00B7 A5 EF + and #$20 ; CPU:$C0B9 PRG:00B9 29 20 + bne Label_C087 ; CPU:$C0BB PRG:00BB D0 CA + lda ZpF0 ; CPU:$C0BD PRG:00BD A5 F0 + lsr a ; CPU:$C0BF PRG:00BF 4A + bcs Label_C0AE ; CPU:$C0C0 PRG:00C0 B0 EC + lsr a ; CPU:$C0C2 PRG:00C2 4A + bcs Label_C0CF ; CPU:$C0C3 PRG:00C3 B0 0A + lsr a ; CPU:$C0C5 PRG:00C5 4A + bcs Label_C0F8 ; CPU:$C0C6 PRG:00C6 B0 30 + lda ZpF3 ; CPU:$C0C8 PRG:00C8 A5 F3 + lsr a ; CPU:$C0CA PRG:00CA 4A + lsr a ; CPU:$C0CB PRG:00CB 4A + bcs Label_C0E0 ; CPU:$C0CC PRG:00CC B0 12 + rts ; CPU:$C0CE PRG:00CE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C0CF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0CF: + lda ZpF3 ; CPU:$C0CF PRG:00CF A5 F3 + ora #$02 ; CPU:$C0D1 PRG:00D1 09 02 + sta ZpF3 ; CPU:$C0D3 PRG:00D3 85 F3 + lda #$14 ; CPU:$C0D5 PRG:00D5 A9 14 + sta $0103 ; CPU:$C0D7 PRG:00D7 8D 03 01 + ldx #$72 ; CPU:$C0DA PRG:00DA A2 72 + ldy #$C3 ; CPU:$C0DC PRG:00DC A0 C3 + bne Label_C0FC ; CPU:$C0DE PRG:00DE D0 1C +; ----------------------------------------------------------------------------- +; Routine: Label_C0E0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0E0: + inc $0103 ; CPU:$C0E0 PRG:00E0 EE 03 01 + inc $0103 ; CPU:$C0E3 PRG:00E3 EE 03 01 + lda $0103 ; CPU:$C0E6 PRG:00E6 AD 03 01 + cmp #$20 ; CPU:$C0E9 PRG:00E9 C9 20 + beq Label_C0F1 ; CPU:$C0EB PRG:00EB F0 04 + sta $400C ; CPU:$C0ED PRG:00ED 8D 0C 40 + rts ; CPU:$C0F0 PRG:00F0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C0F1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0F1: + lda ZpF3 ; CPU:$C0F1 PRG:00F1 A5 F3 + and #$FD ; CPU:$C0F3 PRG:00F3 29 FD + sta ZpF3 ; CPU:$C0F5 PRG:00F5 85 F3 + rts ; CPU:$C0F7 PRG:00F7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C0F8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0F8: + ldx #$6E ; CPU:$C0F8 PRG:00F8 A2 6E + ldy #$C3 ; CPU:$C0FA PRG:00FA A0 C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C0FC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0FC: + jsr $C195 ; CPU:$C0FC PRG:00FC 20 95 C1 + rts ; CPU:$C0FF PRG:00FF 60 +; ---- data $C100-$C18C (141 bytes) ---- +; referenced by `lda $C172,y` at $C02C (operand $C172 falls inside this region) + .byte $C1, $60, $00, $00, $00, $D4, $00, $C8, $00, $BD, $00, $B2, $00, $A8, $00, $9F ; CPU:$C100 PRG:0100 C1 60 00 00 00 D4 00 C8 00 BD 00 B2 00 A8 00 9F + .byte $00, $96, $00, $8D, $00, $85, $00, $7E, $00, $76, $00, $70, $01, $AB, $01, $93 ; CPU:$C110 PRG:0110 00 96 00 8D 00 85 00 7E 00 76 00 70 01 AB 01 93 + .byte $01, $7C, $01, $67, $01, $52, $01, $3F, $01, $2D, $01, $1C, $01, $0C, $00, $FD ; CPU:$C120 PRG:0120 01 7C 01 67 01 52 01 3F 01 2D 01 1C 01 0C 00 FD + .byte $00, $EE, $00, $E1, $03, $57, $03, $27, $02, $F9, $02, $CF, $02, $A6, $02, $80 ; CPU:$C130 PRG:0130 00 EE 00 E1 03 57 03 27 02 F9 02 CF 02 A6 02 80 + .byte $02, $5C, $02, $3A, $02, $1A, $01, $FC, $01, $DF, $01, $C4, $06, $AE, $06, $4E ; CPU:$C140 PRG:0140 02 5C 02 3A 02 1A 01 FC 01 DF 01 C4 06 AE 06 4E + .byte $05, $F3, $05, $9E, $05, $4D, $05, $01, $04, $B9, $04, $75, $04, $35, $03, $F8 ; CPU:$C150 PRG:0150 05 F3 05 9E 05 4D 05 01 04 B9 04 75 04 35 03 F8 + .byte $03, $BF, $03, $89, $00, $69, $00, $63, $00, $5E, $00, $58, $00, $53, $00, $4A ; CPU:$C160 PRG:0160 03 BF 03 89 00 69 00 63 00 5E 00 58 00 53 00 4A + .byte $00, $46, $03, $06, $0C, $18, $30, $12, $24, $09, $04, $08, $10, $20, $40, $18 ; CPU:$C170 PRG:0170 00 46 03 06 0C 18 30 12 24 09 04 08 10 20 40 18 + .byte $30, $0C, $06, $0C, $18, $30, $60, $24, $48, $12, $10, $08, $03 ; CPU:$C180 PRG:0180 30 0C 06 0C 18 30 60 24 48 12 10 08 03 +; ----------------------------------------------------------------------------- +; Routine: Label_C18D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C18D: + lda #$00 ; CPU:$C18D PRG:018D A9 00 + beq Label_C19B ; CPU:$C18F PRG:018F F0 0A + lda #$08 ; CPU:$C191 PRG:0191 A9 08 + bne Label_C19B ; CPU:$C193 PRG:0193 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_C195 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C195: + lda #$0C ; CPU:$C195 PRG:0195 A9 0C + bne Label_C19B ; CPU:$C197 PRG:0197 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_C199 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C199: + lda #$04 ; CPU:$C199 PRG:0199 A9 04 +; ----------------------------------------------------------------------------- +; Routine: Label_C19B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C19B: + sta ZpF4 ; CPU:$C19B PRG:019B 85 F4 + lda #$40 ; CPU:$C19D PRG:019D A9 40 + sta ZpF5 ; CPU:$C19F PRG:019F 85 F5 + stx ZpF6 ; CPU:$C1A1 PRG:01A1 86 F6 + sty ZpF7 ; CPU:$C1A3 PRG:01A3 84 F7 + ldy #$00 ; CPU:$C1A5 PRG:01A5 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C1A7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C1A7: + lda (ZpF6),y ; CPU:$C1A7 PRG:01A7 B1 F6 + sta (ZpF4),y ; CPU:$C1A9 PRG:01A9 91 F4 + iny ; CPU:$C1AB PRG:01AB C8 + tya ; CPU:$C1AC PRG:01AC 98 + cmp #$04 ; CPU:$C1AD PRG:01AD C9 04 + bne Label_C1A7 ; CPU:$C1AF PRG:01AF D0 F6 + rts ; CPU:$C1B1 PRG:01B1 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C1B2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C1B2: + tax ; CPU:$C1B2 PRG:01B2 AA + jsr $C352 ; CPU:$C1B3 PRG:01B3 20 52 C3 + stx ZpE6 ; CPU:$C1B6 PRG:01B6 86 E6 + lda $C657,y ; CPU:$C1B8 PRG:01B8 B9 57 C6 + tay ; CPU:$C1BB PRG:01BB A8 + lda $C657,y ; CPU:$C1BC PRG:01BC B9 57 C6 + sta ZpE5 ; CPU:$C1BF PRG:01BF 85 E5 + lda $C658,y ; CPU:$C1C1 PRG:01C1 B9 58 C6 + sta ZpF8 ; CPU:$C1C4 PRG:01C4 85 F8 + lda $C659,y ; CPU:$C1C6 PRG:01C6 B9 59 C6 + sta ZpF9 ; CPU:$C1C9 PRG:01C9 85 F9 + lda $C65A,y ; CPU:$C1CB PRG:01CB B9 5A C6 + sta ZpFA ; CPU:$C1CE PRG:01CE 85 FA + lda $C65B,y ; CPU:$C1D0 PRG:01D0 B9 5B C6 + sta ZpFB ; CPU:$C1D3 PRG:01D3 85 FB + lda $C65C,y ; CPU:$C1D5 PRG:01D5 B9 5C C6 + sta ZpFC ; CPU:$C1D8 PRG:01D8 85 FC + lda $C65D,y ; CPU:$C1DA PRG:01DA B9 5D C6 + sta ZpFD ; CPU:$C1DD PRG:01DD 85 FD + lda $C65E,y ; CPU:$C1DF PRG:01DF B9 5E C6 + sta ZpFE ; CPU:$C1E2 PRG:01E2 85 FE + lda $C65F,y ; CPU:$C1E4 PRG:01E4 B9 5F C6 + sta ZpFF ; CPU:$C1E7 PRG:01E7 85 FF + lda #$01 ; CPU:$C1E9 PRG:01E9 A9 01 + sta ZpD8 ; CPU:$C1EB PRG:01EB 85 D8 + sta ZpD9 ; CPU:$C1ED PRG:01ED 85 D9 + sta ZpDA ; CPU:$C1EF PRG:01EF 85 DA + sta ZpDB ; CPU:$C1F1 PRG:01F1 85 DB + lda #$00 ; CPU:$C1F3 PRG:01F3 A9 00 + sta ZpD0 ; CPU:$C1F5 PRG:01F5 85 D0 + sta ZpD1 ; CPU:$C1F7 PRG:01F7 85 D1 + sta ZpD2 ; CPU:$C1F9 PRG:01F9 85 D2 + sta ZpD3 ; CPU:$C1FB PRG:01FB 85 D3 + rts ; CPU:$C1FD PRG:01FD 60 +; ---- data $C1FE-$C20E (17 bytes) ---- + .byte $FF, $FF, $10, $00, $18, $10, $01, $18, $00, $01, $88, $02, $02, $40, $19, $01 ; CPU:$C1FE PRG:01FE FF FF 10 00 18 10 01 18 00 01 88 02 02 40 19 01 + .byte $18 ; CPU:$C20E PRG:020E 18 +; ----------------------------------------------------------------------------- +; Routine: Label_C20F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C20F: + lda ZpF9 ; CPU:$C20F PRG:020F A5 F9 + beq Label_C24D ; CPU:$C211 PRG:0211 F0 3A + dec ZpD8 ; CPU:$C213 PRG:0213 C6 D8 + bne Label_C24D ; CPU:$C215 PRG:0215 D0 36 + ldx #$00 ; CPU:$C217 PRG:0217 A2 00 + lda #$21 ; CPU:$C219 PRG:0219 A9 21 + sta ZpED ; CPU:$C21B PRG:021B 85 ED + lda #$2F ; CPU:$C21D PRG:021D A9 2F + sta ZpEB ; CPU:$C21F PRG:021F 85 EB + ldy ZpD0 ; CPU:$C221 PRG:0221 A4 D0 + inc ZpD0 ; CPU:$C223 PRG:0223 E6 D0 + lda (ZpF8),y ; CPU:$C225 PRG:0225 B1 F8 + beq Label_C22C ; CPU:$C227 PRG:0227 F0 03 + jmp $C30D ; CPU:$C229 PRG:0229 4C 0D C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C22C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C22C: + jmp $C04E ; CPU:$C22C PRG:022C 4C 4E C0 +; ---- data $C22F-$C24C (30 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D0, $E6, $D0, $B1, $F8, $20, $32, $C0, $D0 ; CPU:$C22F PRG:022F 98 10 09 20 26 C0 A4 D0 E6 D0 B1 F8 20 32 C0 D0 + .byte $04, $A0, $10, $D0, $02, $A4, $E9, $8C, $00, $40, $A5, $DC, $85, $D8 ; CPU:$C23F PRG:023F 04 A0 10 D0 02 A4 E9 8C 00 40 A5 DC 85 D8 +; ----------------------------------------------------------------------------- +; Routine: Label_C24D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C24D: + lda ZpFB ; CPU:$C24D PRG:024D A5 FB + beq Label_C288 ; CPU:$C24F PRG:024F F0 37 + dec ZpD9 ; CPU:$C251 PRG:0251 C6 D9 + bne Label_C288 ; CPU:$C253 PRG:0253 D0 33 + ldx #$01 ; CPU:$C255 PRG:0255 A2 01 + lda #$5F ; CPU:$C257 PRG:0257 A9 5F + sta ZpED ; CPU:$C259 PRG:0259 85 ED + lda #$6A ; CPU:$C25B PRG:025B A9 6A + sta ZpEB ; CPU:$C25D PRG:025D 85 EB + ldy ZpD1 ; CPU:$C25F PRG:025F A4 D1 + inc ZpD1 ; CPU:$C261 PRG:0261 E6 D1 + lda (ZpFA),y ; CPU:$C263 PRG:0263 B1 FA + beq Label_C22C ; CPU:$C265 PRG:0265 F0 C5 + jmp $C30D ; CPU:$C267 PRG:0267 4C 0D C3 +; ---- data $C26A-$C287 (30 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D1, $E6, $D1, $B1, $FA, $20, $46, $C0, $D0 ; CPU:$C26A PRG:026A 98 10 09 20 26 C0 A4 D1 E6 D1 B1 FA 20 46 C0 D0 + .byte $04, $A0, $10, $D0, $02, $A4, $EA, $8C, $04, $40, $A5, $DD, $85, $D9 ; CPU:$C27A PRG:027A 04 A0 10 D0 02 A4 EA 8C 04 40 A5 DD 85 D9 +; ----------------------------------------------------------------------------- +; Routine: Label_C288 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C288: + lda ZpFD ; CPU:$C288 PRG:0288 A5 FD + beq Label_C2DE ; CPU:$C28A PRG:028A F0 52 + dec ZpDA ; CPU:$C28C PRG:028C C6 DA + bne Label_C2DE ; CPU:$C28E PRG:028E D0 4E + ldx #$02 ; CPU:$C290 PRG:0290 A2 02 + lda #$A8 ; CPU:$C292 PRG:0292 A9 A8 + sta ZpEB ; CPU:$C294 PRG:0294 85 EB + lda #$9A ; CPU:$C296 PRG:0296 A9 9A + sta ZpED ; CPU:$C298 PRG:0298 85 ED + ldy ZpD2 ; CPU:$C29A PRG:029A A4 D2 + inc ZpD2 ; CPU:$C29C PRG:029C E6 D2 + lda (ZpFC),y ; CPU:$C29E PRG:029E B1 FC + beq Label_C2A5 ; CPU:$C2A0 PRG:02A0 F0 03 + jmp $C30D ; CPU:$C2A2 PRG:02A2 4C 0D C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C2A5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C2A5: + jmp $C04E ; CPU:$C2A5 PRG:02A5 4C 4E C0 +; ---- data $C2A8-$C2DD (54 bytes) ---- + .byte $98, $10, $21, $20, $26, $C0, $A4, $E4, $F0, $04, $A9, $FF, $D0, $0B, $18, $69 ; CPU:$C2A8 PRG:02A8 98 10 21 20 26 C0 A4 E4 F0 04 A9 FF D0 0B 18 69 + .byte $FE, $0A, $0A, $C9, $3C, $90, $02, $A9, $3C, $8D, $08, $40, $85, $E7, $A4, $D2 ; CPU:$C2B8 PRG:02B8 FE 0A 0A C9 3C 90 02 A9 3C 8D 08 40 85 E7 A4 D2 + .byte $E6, $D2, $B1, $FC, $20, $4A, $C0, $D0, $04, $A0, $00, $F0, $02, $A4, $E7, $8C ; CPU:$C2C8 PRG:02C8 E6 D2 B1 FC 20 4A C0 D0 04 A0 00 F0 02 A4 E7 8C + .byte $08, $40, $A5, $DE, $85, $DA ; CPU:$C2D8 PRG:02D8 08 40 A5 DE 85 DA +; ----------------------------------------------------------------------------- +; Routine: Label_C2DE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C2DE: + lda ZpFF ; CPU:$C2DE PRG:02DE A5 FF + beq Label_C30C ; CPU:$C2E0 PRG:02E0 F0 2A + dec ZpDB ; CPU:$C2E2 PRG:02E2 C6 DB + bne Label_C30C ; CPU:$C2E4 PRG:02E4 D0 26 + ldx #$03 ; CPU:$C2E6 PRG:02E6 A2 03 + lda #$F9 ; CPU:$C2E8 PRG:02E8 A9 F9 + sta ZpEB ; CPU:$C2EA PRG:02EA 85 EB + lda #$F0 ; CPU:$C2EC PRG:02EC A9 F0 + sta ZpED ; CPU:$C2EE PRG:02EE 85 ED + ldy ZpD3 ; CPU:$C2F0 PRG:02F0 A4 D3 + inc ZpD3 ; CPU:$C2F2 PRG:02F2 E6 D3 + lda (ZpFE),y ; CPU:$C2F4 PRG:02F4 B1 FE + jmp $C30D ; CPU:$C2F6 PRG:02F6 4C 0D C3 +; ---- data $C2F9-$C30B (19 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D3, $E6, $D3, $B1, $FE, $20, $06, $C0, $A5 ; CPU:$C2F9 PRG:02F9 98 10 09 20 26 C0 A4 D3 E6 D3 B1 FE 20 06 C0 A5 + .byte $DF, $85, $DB ; CPU:$C309 PRG:0309 DF 85 DB +; ----------------------------------------------------------------------------- +; Routine: Label_C30C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C30C: + rts ; CPU:$C30C PRG:030C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C30D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C30D: + tay ; CPU:$C30D PRG:030D A8 + cmp #$FF ; CPU:$C30E PRG:030E C9 FF + beq Label_C31B ; CPU:$C310 PRG:0310 F0 09 + and #$C0 ; CPU:$C312 PRG:0312 29 C0 + cmp #$C0 ; CPU:$C314 PRG:0314 C9 C0 + beq Label_C327 ; CPU:$C316 PRG:0316 F0 0F + jmp ($00EB) ; CPU:$C318 PRG:0318 6C EB 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C31B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C31B: + lda ZpE0,x ; CPU:$C31B PRG:031B B5 E0 + beq Label_C332 ; CPU:$C31D PRG:031D F0 13 + dec ZpE0,x ; CPU:$C31F PRG:031F D6 E0 + lda ZpD4,x ; CPU:$C321 PRG:0321 B5 D4 + sta ZpD0,x ; CPU:$C323 PRG:0323 95 D0 + bne Label_C332 ; CPU:$C325 PRG:0325 D0 0B +; ----------------------------------------------------------------------------- +; Routine: Label_C327 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C327: + tya ; CPU:$C327 PRG:0327 98 + and #$3F ; CPU:$C328 PRG:0328 29 3F + sta ZpE0,x ; CPU:$C32A PRG:032A 95 E0 + dec ZpE0,x ; CPU:$C32C PRG:032C D6 E0 + lda ZpD0,x ; CPU:$C32E PRG:032E B5 D0 + sta ZpD4,x ; CPU:$C330 PRG:0330 95 D4 +; ----------------------------------------------------------------------------- +; Routine: Label_C332 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C332: + jmp ($00ED) ; CPU:$C332 PRG:0332 6C ED 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C335 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C335: + lda #$C0 ; CPU:$C335 PRG:0335 A9 C0 + sta $4017 ; CPU:$C337 PRG:0337 8D 17 40 + jsr $C0B1 ; CPU:$C33A PRG:033A 20 B1 C0 + jsr $C3B3 ; CPU:$C33D PRG:033D 20 B3 C3 + jsr $C465 ; CPU:$C340 PRG:0340 20 65 C4 + jsr $C508 ; CPU:$C343 PRG:0343 20 08 C5 + jsr $C5D1 ; CPU:$C346 PRG:0346 20 D1 C5 + lda #$00 ; CPU:$C349 PRG:0349 A9 00 + sta ZpF0 ; CPU:$C34B PRG:034B 85 F0 + sta ZpF1 ; CPU:$C34D PRG:034D 85 F1 + sta ZpF2 ; CPU:$C34F PRG:034F 85 F2 + rts ; CPU:$C351 PRG:0351 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C352 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C352: + lda #$00 ; CPU:$C352 PRG:0352 A9 00 + sta ZpF3 ; CPU:$C354 PRG:0354 85 F3 + sta ZpEF ; CPU:$C356 PRG:0356 85 EF +; ----------------------------------------------------------------------------- +; Routine: Label_C358 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C358: + sta $4008 ; CPU:$C358 PRG:0358 8D 08 40 + sta $4011 ; CPU:$C35B PRG:035B 8D 11 40 + sta ZpE6 ; CPU:$C35E PRG:035E 85 E6 + sta ZpE4 ; CPU:$C360 PRG:0360 85 E4 + lda #$10 ; CPU:$C362 PRG:0362 A9 10 + sta $4000 ; CPU:$C364 PRG:0364 8D 00 40 + sta $4004 ; CPU:$C367 PRG:0367 8D 04 40 + sta $400C ; CPU:$C36A PRG:036A 8D 0C 40 + rts ; CPU:$C36D PRG:036D 60 +; ---- data $C36E-$C375 (8 bytes) ---- + .byte $1E, $7F, $05, $18, $15, $7F, $02, $88 ; CPU:$C36E PRG:036E 1E 7F 05 18 15 7F 02 88 +; ----------------------------------------------------------------------------- +; Routine: Label_C376 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C376: + ldx #$40 ; CPU:$C376 PRG:0376 A2 40 + ldy #$C4 ; CPU:$C378 PRG:0378 A0 C4 + jmp $C3FF ; CPU:$C37A PRG:037A 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C37D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C37D: + ldx #$34 ; CPU:$C37D PRG:037D A2 34 + ldy #$C4 ; CPU:$C37F PRG:037F A0 C4 + jmp $C3FF ; CPU:$C381 PRG:0381 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C384 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C384: + lda ZpF3 ; CPU:$C384 PRG:0384 A5 F3 + and #$07 ; CPU:$C386 PRG:0386 29 07 + ora #$40 ; CPU:$C388 PRG:0388 09 40 + sta ZpF3 ; CPU:$C38A PRG:038A 85 F3 + jsr $C425 ; CPU:$C38C PRG:038C 20 25 C4 + lda #$00 ; CPU:$C38F PRG:038F A9 00 + sta $0100 ; CPU:$C391 PRG:0391 8D 00 01 + ldx #$2C ; CPU:$C394 PRG:0394 A2 2C + ldy #$C4 ; CPU:$C396 PRG:0396 A0 C4 + bne Label_C405 ; CPU:$C398 PRG:0398 D0 6B +; ----------------------------------------------------------------------------- +; Routine: Label_C39A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C39A: + inc $0100 ; CPU:$C39A PRG:039A EE 00 01 + lda $0100 ; CPU:$C39D PRG:039D AD 00 01 + cmp #$04 ; CPU:$C3A0 PRG:03A0 C9 04 + bne Label_C40E ; CPU:$C3A2 PRG:03A2 D0 6A + jsr $C41E ; CPU:$C3A4 PRG:03A4 20 1E C4 + ldx #$38 ; CPU:$C3A7 PRG:03A7 A2 38 + ldy #$C4 ; CPU:$C3A9 PRG:03A9 A0 C4 + bne Label_C405 ; CPU:$C3AB PRG:03AB D0 58 +; ----------------------------------------------------------------------------- +; Routine: Label_C3AD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3AD: + ldx #$3C ; CPU:$C3AD PRG:03AD A2 3C + ldy #$C4 ; CPU:$C3AF PRG:03AF A0 C4 + bne Label_C3FF ; CPU:$C3B1 PRG:03B1 D0 4C +; ----------------------------------------------------------------------------- +; Routine: Label_C3B3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3B3: + lda ZpE6 ; CPU:$C3B3 PRG:03B3 A5 E6 + cmp #$80 ; CPU:$C3B5 PRG:03B5 C9 80 + beq Label_C3C3 ; CPU:$C3B7 PRG:03B7 F0 0A + lda ZpE6 ; CPU:$C3B9 PRG:03B9 A5 E6 + bne Label_C40E ; CPU:$C3BB PRG:03BB D0 51 + lda ZpEF ; CPU:$C3BD PRG:03BD A5 EF + and #$04 ; CPU:$C3BF PRG:03BF 29 04 + bne Label_C40E ; CPU:$C3C1 PRG:03C1 D0 4B +; ----------------------------------------------------------------------------- +; Routine: Label_C3C3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3C3: + lda ZpF1 ; CPU:$C3C3 PRG:03C3 A5 F1 + and #$10 ; CPU:$C3C5 PRG:03C5 29 10 + bne Label_C376 ; CPU:$C3C7 PRG:03C7 D0 AD + lda ZpF0 ; CPU:$C3C9 PRG:03C9 A5 F0 + asl a ; CPU:$C3CB PRG:03CB 0A + bcs Label_C3E9 ; CPU:$C3CC PRG:03CC B0 1B + asl a ; CPU:$C3CE PRG:03CE 0A + bcs Label_C384 ; CPU:$C3CF PRG:03CF B0 B3 + asl a ; CPU:$C3D1 PRG:03D1 0A + bcs Label_C3E3 ; CPU:$C3D2 PRG:03D2 B0 0F + asl a ; CPU:$C3D4 PRG:03D4 0A + bcs Label_C37D ; CPU:$C3D5 PRG:03D5 B0 A6 + asl a ; CPU:$C3D7 PRG:03D7 0A + bcs Label_C3AD ; CPU:$C3D8 PRG:03D8 B0 D3 + lda ZpF3 ; CPU:$C3DA PRG:03DA A5 F3 + asl a ; CPU:$C3DC PRG:03DC 0A + bcs Label_C40F ; CPU:$C3DD PRG:03DD B0 30 + asl a ; CPU:$C3DF PRG:03DF 0A + bcs Label_C39A ; CPU:$C3E0 PRG:03E0 B0 B8 + rts ; CPU:$C3E2 PRG:03E2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C3E3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3E3: + ldx #$2C ; CPU:$C3E3 PRG:03E3 A2 2C + ldy #$C4 ; CPU:$C3E5 PRG:03E5 A0 C4 + bne Label_C3FF ; CPU:$C3E7 PRG:03E7 D0 16 +; ----------------------------------------------------------------------------- +; Routine: Label_C3E9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3E9: + lda ZpF3 ; CPU:$C3E9 PRG:03E9 A5 F3 + and #$07 ; CPU:$C3EB PRG:03EB 29 07 + ora #$80 ; CPU:$C3ED PRG:03ED 09 80 + sta ZpF3 ; CPU:$C3EF PRG:03EF 85 F3 + jsr $C425 ; CPU:$C3F1 PRG:03F1 20 25 C4 + lda #$00 ; CPU:$C3F4 PRG:03F4 A9 00 + sta $0100 ; CPU:$C3F6 PRG:03F6 8D 00 01 + ldx #$30 ; CPU:$C3F9 PRG:03F9 A2 30 + ldy #$C4 ; CPU:$C3FB PRG:03FB A0 C4 + bne Label_C405 ; CPU:$C3FD PRG:03FD D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_C3FF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3FF: + jsr $C425 ; CPU:$C3FF PRG:03FF 20 25 C4 + jsr $C41E ; CPU:$C402 PRG:0402 20 1E C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C405 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C405: + jsr $C199 ; CPU:$C405 PRG:0405 20 99 C1 +; ----------------------------------------------------------------------------- +; Routine: Label_C408 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C408: + lda ZpEF ; CPU:$C408 PRG:0408 A5 EF + and #$BF ; CPU:$C40A PRG:040A 29 BF + sta ZpEF ; CPU:$C40C PRG:040C 85 EF +; ----------------------------------------------------------------------------- +; Routine: Label_C40E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C40E: + rts ; CPU:$C40E PRG:040E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C40F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C40F: + inc $0100 ; CPU:$C40F PRG:040F EE 00 01 + lda $0100 ; CPU:$C412 PRG:0412 AD 00 01 + cmp #$05 ; CPU:$C415 PRG:0415 C9 05 + bne Label_C40E ; CPU:$C417 PRG:0417 D0 F5 + lda #$8B ; CPU:$C419 PRG:0419 A9 8B + sta $4005 ; CPU:$C41B PRG:041B 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C41E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C41E: + lda ZpF3 ; CPU:$C41E PRG:041E A5 F3 + and #$07 ; CPU:$C420 PRG:0420 29 07 + sta ZpF3 ; CPU:$C422 PRG:0422 85 F3 + rts ; CPU:$C424 PRG:0424 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C425 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C425: + lda ZpEF ; CPU:$C425 PRG:0425 A5 EF + and #$E7 ; CPU:$C427 PRG:0427 29 E7 + sta ZpEF ; CPU:$C429 PRG:0429 85 EF + rts ; CPU:$C42B PRG:042B 60 +; ---- data $C42C-$C443 (24 bytes) ---- + .byte $9F, $83, $E0, $39, $9F, $83, $40, $CA, $9F, $8B, $FF, $4A, $9F, $8D, $FF, $CA ; CPU:$C42C PRG:042C 9F 83 E0 39 9F 83 40 CA 9F 8B FF 4A 9F 8D FF CA + .byte $9F, $82, $E0, $19, $9F, $93, $FF, $B9 ; CPU:$C43C PRG:043C 9F 82 E0 19 9F 93 FF B9 +; ----------------------------------------------------------------------------- +; Routine: Label_C444 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C444: + lda #$FF ; CPU:$C444 PRG:0444 A9 FF + sta $010D ; CPU:$C446 PRG:0446 8D 0D 01 + rts ; CPU:$C449 PRG:0449 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C44A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C44A: + jsr $C352 ; CPU:$C44A PRG:044A 20 52 C3 + lda #$04 ; CPU:$C44D PRG:044D A9 04 + sta ZpEF ; CPU:$C44F PRG:044F 85 EF + lda #$FF ; CPU:$C451 PRG:0451 A9 FF + sta ZpE6 ; CPU:$C453 PRG:0453 85 E6 + lda #$00 ; CPU:$C455 PRG:0455 A9 00 + sta $010B ; CPU:$C457 PRG:0457 8D 0B 01 + sta $010D ; CPU:$C45A PRG:045A 8D 0D 01 + lda #$B0 ; CPU:$C45D PRG:045D A9 B0 + sta $010C ; CPU:$C45F PRG:045F 8D 0C 01 + jmp $C4A5 ; CPU:$C462 PRG:0462 4C A5 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C465 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C465: + lda ZpF1 ; CPU:$C465 PRG:0465 A5 F1 + lsr a ; CPU:$C467 PRG:0467 4A + bcs Label_C478 ; CPU:$C468 PRG:0468 B0 0E + lsr a ; CPU:$C46A PRG:046A 4A + bcs Label_C444 ; CPU:$C46B PRG:046B B0 D7 + lsr a ; CPU:$C46D PRG:046D 4A + bcs Label_C44A ; CPU:$C46E PRG:046E B0 DA + lda ZpEF ; CPU:$C470 PRG:0470 A5 EF + lsr a ; CPU:$C472 PRG:0472 4A + lsr a ; CPU:$C473 PRG:0473 4A + lsr a ; CPU:$C474 PRG:0474 4A + bcs Label_C48A ; CPU:$C475 PRG:0475 B0 13 + rts ; CPU:$C477 PRG:0477 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C478 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C478: + jsr $C352 ; CPU:$C478 PRG:0478 20 52 C3 + ldx #$FC ; CPU:$C47B PRG:047B A2 FC + ldy #$C4 ; CPU:$C47D PRG:047D A0 C4 + jsr $C18D ; CPU:$C47F PRG:047F 20 8D C1 + ldx #$F8 ; CPU:$C482 PRG:0482 A2 F8 + ldy #$C4 ; CPU:$C484 PRG:0484 A0 C4 + jsr $C199 ; CPU:$C486 PRG:0486 20 99 C1 + rts ; CPU:$C489 PRG:0489 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C48A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C48A: + jsr $C4BB ; CPU:$C48A PRG:048A 20 BB C4 + inc $0108 ; CPU:$C48D PRG:048D EE 08 01 + lda $0108 ; CPU:$C490 PRG:0490 AD 08 01 + cmp #$09 ; CPU:$C493 PRG:0493 C9 09 + beq Label_C49C ; CPU:$C495 PRG:0495 F0 05 + cmp #$13 ; CPU:$C497 PRG:0497 C9 13 + beq Label_C4A5 ; CPU:$C499 PRG:0499 F0 0A + rts ; CPU:$C49B PRG:049B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C49C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C49C: + lda #$AC ; CPU:$C49C PRG:049C A9 AC + sta $4001 ; CPU:$C49E PRG:049E 8D 01 40 + sta $4005 ; CPU:$C4A1 PRG:04A1 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C4A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4A4: + rts ; CPU:$C4A4 PRG:04A4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C4A5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4A5: + lda #$00 ; CPU:$C4A5 PRG:04A5 A9 00 + sta $0108 ; CPU:$C4A7 PRG:04A7 8D 08 01 + ldx #$00 ; CPU:$C4AA PRG:04AA A2 00 + ldy #$C5 ; CPU:$C4AC PRG:04AC A0 C5 + jsr $C18D ; CPU:$C4AE PRG:04AE 20 8D C1 + ldx #$04 ; CPU:$C4B1 PRG:04B1 A2 04 + ldy #$C5 ; CPU:$C4B3 PRG:04B3 A0 C5 + jsr $C199 ; CPU:$C4B5 PRG:04B5 20 99 C1 + jmp $C4E6 ; CPU:$C4B8 PRG:04B8 4C E6 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C4BB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4BB: + lda $010D ; CPU:$C4BB PRG:04BB AD 0D 01 + beq Label_C4C3 ; CPU:$C4BE PRG:04BE F0 03 + jmp $C4CA ; CPU:$C4C0 PRG:04C0 4C CA C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C4C3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4C3: + lda $010C ; CPU:$C4C3 PRG:04C3 AD 0C 01 + cmp #$BD ; CPU:$C4C6 PRG:04C6 C9 BD + beq Label_C4A4 ; CPU:$C4C8 PRG:04C8 F0 DA +; ----------------------------------------------------------------------------- +; Routine: Label_C4CA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4CA: + inc $010B ; CPU:$C4CA PRG:04CA EE 0B 01 + lda $010B ; CPU:$C4CD PRG:04CD AD 0B 01 + cmp #$17 ; CPU:$C4D0 PRG:04D0 C9 17 + bne Label_C4A4 ; CPU:$C4D2 PRG:04D2 D0 D0 + lda #$00 ; CPU:$C4D4 PRG:04D4 A9 00 + sta $010B ; CPU:$C4D6 PRG:04D6 8D 0B 01 + lda $010D ; CPU:$C4D9 PRG:04D9 AD 0D 01 + beq Label_C4E3 ; CPU:$C4DC PRG:04DC F0 05 + dec $010C ; CPU:$C4DE PRG:04DE CE 0C 01 + bne Label_C4E6 ; CPU:$C4E1 PRG:04E1 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_C4E3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4E3: + inc $010C ; CPU:$C4E3 PRG:04E3 EE 0C 01 +; ----------------------------------------------------------------------------- +; Routine: Label_C4E6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4E6: + lda $010C ; CPU:$C4E6 PRG:04E6 AD 0C 01 + cmp #$AF ; CPU:$C4E9 PRG:04E9 C9 AF + beq Label_C4F4 ; CPU:$C4EB PRG:04EB F0 07 + sta $4000 ; CPU:$C4ED PRG:04ED 8D 00 40 + sta $4004 ; CPU:$C4F0 PRG:04F0 8D 04 40 + rts ; CPU:$C4F3 PRG:04F3 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C4F4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4F4: + jsr $C352 ; CPU:$C4F4 PRG:04F4 20 52 C3 + rts ; CPU:$C4F7 PRG:04F7 60 +; ---- data $C4F8-$C507 (16 bytes) ---- + .byte $94, $95, $30, $40, $94, $95, $38, $40, $B0, $A4, $96, $00, $B0, $A4, $8D, $00 ; CPU:$C4F8 PRG:04F8 94 95 30 40 94 95 38 40 B0 A4 96 00 B0 A4 8D 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C508 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C508: + lda ZpE6 ; CPU:$C508 PRG:0508 A5 E6 + cmp #$80 ; CPU:$C50A PRG:050A C9 80 + beq Label_C512 ; CPU:$C50C PRG:050C F0 04 + lda ZpE6 ; CPU:$C50E PRG:050E A5 E6 + bne Label_C520 ; CPU:$C510 PRG:0510 D0 0E +; ----------------------------------------------------------------------------- +; Routine: Label_C512 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C512: + lda ZpF1 ; CPU:$C512 PRG:0512 A5 F1 + asl a ; CPU:$C514 PRG:0514 0A + bcs Label_C52D ; CPU:$C515 PRG:0515 B0 16 + asl a ; CPU:$C517 PRG:0517 0A + bcs Label_C542 ; CPU:$C518 PRG:0518 B0 28 + lda ZpEF ; CPU:$C51A PRG:051A A5 EF + asl a ; CPU:$C51C PRG:051C 0A + asl a ; CPU:$C51D PRG:051D 0A + bcs Label_C55A ; CPU:$C51E PRG:051E B0 3A +; ----------------------------------------------------------------------------- +; Routine: Label_C520 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C520: + rts ; CPU:$C520 PRG:0520 60 +; ---- data $C521-$C52C (12 bytes) ---- + .byte $A5, $EF, $29, $3F, $85, $EF, $A9, $10, $8D, $00, $40, $60 ; CPU:$C521 PRG:0521 A5 EF 29 3F 85 EF A9 10 8D 00 40 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C52D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C52D: + lda ZpEF ; CPU:$C52D PRG:052D A5 EF + and #$3F ; CPU:$C52F PRG:052F 29 3F + ora #$80 ; CPU:$C531 PRG:0531 09 80 + sta ZpEF ; CPU:$C533 PRG:0533 85 EF + lda #$20 ; CPU:$C535 PRG:0535 A9 20 + sta $0104 ; CPU:$C537 PRG:0537 8D 04 01 + ldx #$A0 ; CPU:$C53A PRG:053A A2 A0 + ldy #$C5 ; CPU:$C53C PRG:053C A0 C5 + jsr $C18D ; CPU:$C53E PRG:053E 20 8D C1 + rts ; CPU:$C541 PRG:0541 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C542 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C542: + lda ZpEF ; CPU:$C542 PRG:0542 A5 EF + and #$3F ; CPU:$C544 PRG:0544 29 3F + ora #$40 ; CPU:$C546 PRG:0546 09 40 + sta ZpEF ; CPU:$C548 PRG:0548 85 EF + lda #$BF ; CPU:$C54A PRG:054A A9 BF + sta $0105 ; CPU:$C54C PRG:054C 8D 05 01 + lda #$00 ; CPU:$C54F PRG:054F A9 00 + sta $0107 ; CPU:$C551 PRG:0551 8D 07 01 + lda #$10 ; CPU:$C554 PRG:0554 A9 10 + sta $4000 ; CPU:$C556 PRG:0556 8D 00 40 + rts ; CPU:$C559 PRG:0559 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C55A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C55A: + inc $0105 ; CPU:$C55A PRG:055A EE 05 01 + lda $0105 ; CPU:$C55D PRG:055D AD 05 01 + cmp #$0F ; CPU:$C560 PRG:0560 C9 0F + bne Label_C593 ; CPU:$C562 PRG:0562 D0 2F + lda #$00 ; CPU:$C564 PRG:0564 A9 00 + sta $0105 ; CPU:$C566 PRG:0566 8D 05 01 + inc $0107 ; CPU:$C569 PRG:0569 EE 07 01 + lda $0107 ; CPU:$C56C PRG:056C AD 07 01 + cmp #$0E ; CPU:$C56F PRG:056F C9 0E + beq Label_C590 ; CPU:$C571 PRG:0571 F0 1D + lda $05EC ; CPU:$C573 PRG:0573 AD EC 05 + and #$0F ; CPU:$C576 PRG:0576 29 0F + ora #$10 ; CPU:$C578 PRG:0578 09 10 + sta $0106 ; CPU:$C57A PRG:057A 8D 06 01 + sta $4002 ; CPU:$C57D PRG:057D 8D 02 40 + lda #$7F ; CPU:$C580 PRG:0580 A9 7F + sta $4001 ; CPU:$C582 PRG:0582 8D 01 40 + lda #$99 ; CPU:$C585 PRG:0585 A9 99 + sta $4000 ; CPU:$C587 PRG:0587 8D 00 40 + lda #$88 ; CPU:$C58A PRG:058A A9 88 + sta $4003 ; CPU:$C58C PRG:058C 8D 03 40 + rts ; CPU:$C58F PRG:058F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C590 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C590: + jmp $C408 ; CPU:$C590 PRG:0590 4C 08 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C593 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C593: + inc $0106 ; CPU:$C593 PRG:0593 EE 06 01 + inc $0106 ; CPU:$C596 PRG:0596 EE 06 01 + lda $0106 ; CPU:$C599 PRG:0599 AD 06 01 + sta $4002 ; CPU:$C59C PRG:059C 8D 02 40 + rts ; CPU:$C59F PRG:059F 60 +; ---- data $C5A0-$C5A3 (4 bytes) ---- + .byte $95, $B5, $40, $B0 ; CPU:$C5A0 PRG:05A0 95 B5 40 B0 +; ----------------------------------------------------------------------------- +; Routine: Label_C5A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5A4: + ldy #$07 ; CPU:$C5A4 PRG:05A4 A0 07 + lda #$40 ; CPU:$C5A6 PRG:05A6 A9 40 + jmp $C63D ; CPU:$C5A8 PRG:05A8 4C 3D C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C5AB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5AB: + ldy #$09 ; CPU:$C5AB PRG:05AB A0 09 + lda $0309 ; CPU:$C5AD PRG:05AD AD 09 03 + cmp #$01 ; CPU:$C5B0 PRG:05B0 C9 01 + beq Label_C5C5 ; CPU:$C5B2 PRG:05B2 F0 11 + lda $0329 ; CPU:$C5B4 PRG:05B4 AD 29 03 + cmp #$01 ; CPU:$C5B7 PRG:05B7 C9 01 + beq Label_C5C5 ; CPU:$C5B9 PRG:05B9 F0 0A + ldy #$08 ; CPU:$C5BB PRG:05BB A0 08 + lda Zp85 ; CPU:$C5BD PRG:05BD A5 85 + and #$01 ; CPU:$C5BF PRG:05BF 29 01 + beq Label_C5C5 ; CPU:$C5C1 PRG:05C1 F0 02 + ldy #$06 ; CPU:$C5C3 PRG:05C3 A0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_C5C5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5C5: + lda #$80 ; CPU:$C5C5 PRG:05C5 A9 80 + jmp $C64E ; CPU:$C5C7 PRG:05C7 4C 4E C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C5CA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5CA: + ldy #$00 ; CPU:$C5CA PRG:05CA A0 00 + lda #$01 ; CPU:$C5CC PRG:05CC A9 01 + jmp $C63D ; CPU:$C5CE PRG:05CE 4C 3D C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C5D1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5D1: + lda ZpF2 ; CPU:$C5D1 PRG:05D1 A5 F2 + lsr a ; CPU:$C5D3 PRG:05D3 4A + bcs Label_C5CA ; CPU:$C5D4 PRG:05D4 B0 F4 + lsr a ; CPU:$C5D6 PRG:05D6 4A + bcs Label_C5FF ; CPU:$C5D7 PRG:05D7 B0 26 + lsr a ; CPU:$C5D9 PRG:05D9 4A + bcs Label_C5F9 ; CPU:$C5DA PRG:05DA B0 1D + lsr a ; CPU:$C5DC PRG:05DC 4A + bcs Label_C622 ; CPU:$C5DD PRG:05DD B0 43 + lsr a ; CPU:$C5DF PRG:05DF 4A + bcs Label_C605 ; CPU:$C5E0 PRG:05E0 B0 23 + lsr a ; CPU:$C5E2 PRG:05E2 4A + bcs Label_C637 ; CPU:$C5E3 PRG:05E3 B0 52 + lsr a ; CPU:$C5E5 PRG:05E5 4A + bcs Label_C5A4 ; CPU:$C5E6 PRG:05E6 B0 BC + lsr a ; CPU:$C5E8 PRG:05E8 4A + bcs Label_C5AB ; CPU:$C5E9 PRG:05E9 B0 C0 + lda ZpEF ; CPU:$C5EB PRG:05EB A5 EF + cmp #$04 ; CPU:$C5ED PRG:05ED C9 04 + beq Label_C5F5 ; CPU:$C5EF PRG:05EF F0 04 + lda ZpE6 ; CPU:$C5F1 PRG:05F1 A5 E6 + bne Label_C5F6 ; CPU:$C5F3 PRG:05F3 D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_C5F5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5F5: + rts ; CPU:$C5F5 PRG:05F5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C5F6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5F6: + jmp $C20F ; CPU:$C5F6 PRG:05F6 4C 0F C2 +; ----------------------------------------------------------------------------- +; Routine: Label_C5F9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5F9: + ldy #$02 ; CPU:$C5F9 PRG:05F9 A0 02 + lda #$04 ; CPU:$C5FB PRG:05FB A9 04 + bne Label_C60B ; CPU:$C5FD PRG:05FD D0 0C +; ----------------------------------------------------------------------------- +; Routine: Label_C5FF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5FF: + ldy #$05 ; CPU:$C5FF PRG:05FF A0 05 + lda #$02 ; CPU:$C601 PRG:0601 A9 02 + bne Label_C60B ; CPU:$C603 PRG:0603 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_C605 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C605: + ldy #$04 ; CPU:$C605 PRG:0605 A0 04 + lda #$10 ; CPU:$C607 PRG:0607 A9 10 + bne Label_C63D ; CPU:$C609 PRG:0609 D0 32 +; ----------------------------------------------------------------------------- +; Routine: Label_C60B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C60B: + jsr $C1B2 ; CPU:$C60B PRG:060B 20 B2 C1 + ldx #$80 ; CPU:$C60E PRG:060E A2 80 + ldy #$06 ; CPU:$C610 PRG:0610 A0 06 + jsr $C05E ; CPU:$C612 PRG:0612 20 5E C0 + lda #$83 ; CPU:$C615 PRG:0615 A9 83 + sta $4001 ; CPU:$C617 PRG:0617 8D 01 40 + lda #$7F ; CPU:$C61A PRG:061A A9 7F + sta $4005 ; CPU:$C61C PRG:061C 8D 05 40 + jmp $C647 ; CPU:$C61F PRG:061F 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C622 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C622: + ldy #$03 ; CPU:$C622 PRG:0622 A0 03 + lda #$08 ; CPU:$C624 PRG:0624 A9 08 + bne Label_C63D ; CPU:$C626 PRG:0626 D0 15 + jsr $C1B2 ; CPU:$C628 PRG:0628 20 B2 C1 + ldx #$80 ; CPU:$C62B PRG:062B A2 80 + ldy #$80 ; CPU:$C62D PRG:062D A0 80 + lda #$83 ; CPU:$C62F PRG:062F A9 83 + jsr $C058 ; CPU:$C631 PRG:0631 20 58 C0 + jmp $C647 ; CPU:$C634 PRG:0634 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C637 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C637: + ldy #$01 ; CPU:$C637 PRG:0637 A0 01 + lda #$20 ; CPU:$C639 PRG:0639 A9 20 + bne Label_C63D ; CPU:$C63B PRG:063B D0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C63D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C63D: + jsr $C1B2 ; CPU:$C63D PRG:063D 20 B2 C1 + ldx #$04 ; CPU:$C640 PRG:0640 A2 04 + ldy #$04 ; CPU:$C642 PRG:0642 A0 04 +; ----------------------------------------------------------------------------- +; Routine: Label_C644 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C644: + jsr $C056 ; CPU:$C644 PRG:0644 20 56 C0 +; ----------------------------------------------------------------------------- +; Routine: Label_C647 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C647: + lda #$00 ; CPU:$C647 PRG:0647 A9 00 + sta ZpE4 ; CPU:$C649 PRG:0649 85 E4 + jmp $C20F ; CPU:$C64B PRG:064B 4C 0F C2 +; ----------------------------------------------------------------------------- +; Routine: Label_C64E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C64E: + jsr $C1B2 ; CPU:$C64E PRG:064E 20 B2 C1 + ldx #$00 ; CPU:$C651 PRG:0651 A2 00 + ldy #$80 ; CPU:$C653 PRG:0653 A0 80 + bne Label_C644 ; CPU:$C655 PRG:0655 D0 ED + asl a ; CPU:$C657 PRG:0657 0A +; ---- data $C658-$C9FF (936 bytes) ---- +; referenced by `lda $C658,y` at $C1C1 (operand $C658 falls inside this region) +; referenced by `lda $C659,y` at $C1C6 (operand $C659 falls inside this region) +; referenced by `lda $C65A,y` at $C1CB (operand $C65A falls inside this region) +; referenced by `lda $C65B,y` at $C1D0 (operand $C65B falls inside this region) +; referenced by `lda $C65C,y` at $C1D5 (operand $C65C falls inside this region) +; referenced by `lda $C65D,y` at $C1DA (operand $C65D falls inside this region) +; ... and 2 further references from decoded code + .byte $13, $1C, $25, $2E, $37, $40, $49, $52, $5B, $08, $37, $C9, $00, $00, $00, $00 ; CPU:$C658 PRG:0658 13 1C 25 2E 37 40 49 52 5B 08 37 C9 00 00 00 00 + .byte $00, $00, $10, $10, $C8, $2B, $C8, $45, $C8, $1B, $C9, $10, $74, $C8, $5F, $C8 ; CPU:$C668 PRG:0668 00 00 10 10 C8 2B C8 45 C8 1B C9 10 74 C8 5F C8 + .byte $7E, $C8, $93, $C8, $10, $3D, $C9, $58, $C9, $72, $C9, $1B, $C9, $10, $A7, $C8 ; CPU:$C678 PRG:0678 7E C8 93 C8 10 3D C9 58 C9 72 C9 1B C9 10 A7 C8 + .byte $D3, $C8, $FE, $C8, $1B, $C9, $10, $83, $C9, $9C, $C9, $B2, $C9, $C8, $C9, $10 ; CPU:$C688 PRG:0688 D3 C8 FE C8 1B C9 10 83 C9 9C C9 B2 C9 C8 C9 10 + .byte $00, $00, $00, $00, $6A, $C7, $E9, $C7, $10, $BB, $C6, $FD, $C6, $3B, $C7, $61 ; CPU:$C698 PRG:0698 00 00 00 00 6A C7 E9 C7 10 BB C6 FD C6 3B C7 61 + .byte $C7, $10, $00, $00, $00, $00, $99, $C7, $E9, $C7, $10, $00, $00, $00, $00, $C6 ; CPU:$C6A8 PRG:06A8 C7 10 00 00 00 00 99 C7 E9 C7 10 00 00 00 00 C6 + .byte $C7, $E9, $C7, $89, $02, $02, $2A, $30, $32, $08, $C8, $8A, $12, $08, $FF, $89 ; CPU:$C6B8 PRG:06B8 C7 E9 C7 89 02 02 2A 30 32 08 C8 8A 12 08 FF 89 + .byte $0C, $02, $08, $02, $02, $2A, $02, $02, $2A, $24, $02, $20, $22, $24, $2A, $2E ; CPU:$C6C8 PRG:06C8 0C 02 08 02 02 2A 02 02 2A 24 02 20 22 24 2A 2E + .byte $02, $2A, $C8, $8A, $12, $08, $FF, $89, $1A, $02, $12, $02, $02, $08, $02, $02 ; CPU:$C6D8 PRG:06D8 02 2A C8 8A 12 08 FF 89 1A 02 12 02 02 08 02 02 + .byte $08, $08, $02, $08, $0A, $0C, $12, $64, $02, $1A, $12, $02, $02, $82, $02, $02 ; CPU:$C6E8 PRG:06E8 08 08 02 08 0A 0C 12 64 02 1A 12 02 02 82 02 02 + .byte $89, $18, $02, $1A, $00, $82, $02, $02, $89, $02, $02, $20, $02, $02, $02, $2A ; CPU:$C6F8 PRG:06F8 89 18 02 1A 00 82 02 02 89 02 02 20 02 02 02 2A + .byte $02, $26, $02, $02, $82, $20, $89, $20, $04, $02, $02, $02, $02, $02, $1C, $02 ; CPU:$C708 PRG:0708 02 26 02 02 82 20 89 20 04 02 02 02 02 02 1C 02 + .byte $82, $1C, $89, $4A, $02, $02, $42, $08, $02, $32, $02, $02, $2E, $02, $02, $2E ; CPU:$C718 PRG:0718 82 1C 89 4A 02 02 42 08 02 32 02 02 2E 02 02 2E + .byte $82, $2A, $89, $02, $02, $04, $0C, $02, $04, $32, $02, $02, $82, $02, $02, $89 ; CPU:$C728 PRG:0728 82 2A 89 02 02 04 0C 02 04 32 02 02 82 02 02 89 + .byte $06, $02, $08, $82, $02, $02, $42, $89, $42, $02, $38, $82, $4A, $4A, $1C, $1C ; CPU:$C738 PRG:0738 06 02 08 82 02 02 42 89 42 02 38 82 4A 4A 1C 1C + .byte $20, $89, $20, $02, $38, $82, $42, $89, $42, $02, $20, $82, $4A, $4A, $1C, $34 ; CPU:$C748 PRG:0748 20 89 20 02 38 82 42 89 42 02 20 82 4A 4A 1C 34 + .byte $38, $38, $42, $02, $02, $89, $40, $02, $42, $82, $02, $02, $DC, $89, $06, $03 ; CPU:$C758 PRG:0758 38 38 42 02 02 89 40 02 42 82 02 02 DC 89 06 03 + .byte $06, $FF, $F2, $89, $42, $02, $02, $02, $02, $48, $4A, $02, $02, $38, $02, $42 ; CPU:$C768 PRG:0768 06 FF F2 89 42 02 02 02 02 48 4A 02 02 38 02 42 + .byte $02, $02, $3E, $44, $46, $1C, $20, $02, $1C, $02, $02, $2A, $02, $02, $42, $02 ; CPU:$C778 PRG:0778 02 02 3E 44 46 1C 20 02 1C 02 02 2A 02 02 42 02 + .byte $02, $4A, $24, $02, $02, $20, $02, $1C, $88, $26, $1C, $46, $3E, $38, $34, $FF ; CPU:$C788 PRG:0788 02 4A 24 02 02 20 02 1C 88 26 1C 46 3E 38 34 FF + .byte $00, $F2, $89, $46, $02, $02, $02, $02, $1E, $24, $02, $02, $1E, $02, $24, $20 ; CPU:$C798 PRG:0798 00 F2 89 46 02 02 02 02 1E 24 02 02 1E 02 24 20 + .byte $02, $40, $02, $02, $02, $88, $40, $42, $44, $89, $46, $02, $02, $1C, $02, $1E ; CPU:$C7A8 PRG:07A8 02 40 02 02 02 88 40 42 44 89 46 02 02 1C 02 1E + .byte $02, $02, $24, $1E, $02, $02, $88, $2A, $28, $20, $40, $42, $44, $FF, $F2, $81 ; CPU:$C7B8 PRG:07B8 02 02 24 1E 02 02 88 2A 28 20 40 42 44 FF F2 81 + .byte $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $3E, $40 ; CPU:$C7C8 PRG:07C8 3C 3C 42 44 3C 3C 42 44 3C 3C 42 44 3C 3C 3E 40 + .byte $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $40, $3E ; CPU:$C7D8 PRG:07D8 42 42 48 4A 42 42 48 4A 42 42 48 4A 42 42 40 3E + .byte $FF, $F2, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $82, $0C, $0C, $0C, $89, $0C ; CPU:$C7E8 PRG:07E8 FF F2 82 0C 0C 0C 89 0C 03 0C 82 0C 0C 0C 89 0C + .byte $03, $0C, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $89, $0C, $03, $0C, $0C, $03 ; CPU:$C7F8 PRG:07F8 03 0C 82 0C 0C 0C 89 0C 03 0C 89 0C 03 0C 0C 03 + .byte $03, $0C, $03, $0C, $0C, $03, $03, $FF, $89, $04, $02, $20, $02, $02, $6A, $18 ; CPU:$C808 PRG:0808 03 0C 03 0C 0C 03 03 FF 89 04 02 20 02 02 6A 18 + .byte $02, $0C, $02, $02, $2A, $68, $02, $16, $0A, $02, $08, $02, $02, $82, $2A, $89 ; CPU:$C818 PRG:0818 02 0C 02 02 2A 68 02 16 0A 02 08 02 02 82 2A 89 + .byte $02, $48, $00, $89, $34, $02, $48, $02, $02, $22, $48, $02, $3C, $02, $02, $22 ; CPU:$C828 PRG:0828 02 48 00 89 34 02 48 02 02 22 48 02 3C 02 02 22 + .byte $20, $02, $46, $3A, $02, $38, $02, $02, $82, $22, $89, $02, $3C, $89, $34, $02 ; CPU:$C838 PRG:0838 20 02 46 3A 02 38 02 02 82 22 89 02 3C 89 34 02 + .byte $34, $48, $02, $22, $82, $46, $89, $42, $02, $08, $02, $3E, $3E, $82, $3A, $89 ; CPU:$C848 PRG:0848 34 48 02 22 82 46 89 42 02 08 02 3E 3E 82 3A 89 + .byte $38, $02, $82, $08, $89, $02, $34, $89, $32, $02, $2E, $02, $02, $02, $2A, $02 ; CPU:$C858 PRG:0858 38 02 82 08 89 02 34 89 32 02 2E 02 02 02 2A 02 + .byte $02, $26, $02, $02, $24, $02, $26, $24, $02, $20, $82, $02, $82, $02, $02, $1C ; CPU:$C868 PRG:0868 02 26 02 02 24 02 26 24 02 20 82 02 82 02 02 1C + .byte $02, $02, $02, $81, $1C, $00, $89, $2A, $02, $26, $02, $02, $02, $24, $02, $02 ; CPU:$C878 PRG:0878 02 02 02 81 1C 00 89 2A 02 26 02 02 02 24 02 02 + .byte $20, $02, $02, $1C, $02, $20, $1C, $02, $4A, $82, $02, $82, $03, $89, $06, $03 ; CPU:$C888 PRG:0888 20 02 02 1C 02 20 1C 02 4A 82 02 82 03 89 06 03 + .byte $06, $82, $03, $89, $06, $03, $06, $03, $06, $03, $06, $03, $06, $82, $09, $89 ; CPU:$C898 PRG:0898 06 82 03 89 06 03 06 03 06 03 06 03 06 82 09 89 + .byte $0C, $02, $12, $26, $02, $08, $08, $02, $2A, $24, $02, $20, $02, $02, $12, $2A ; CPU:$C8A8 PRG:08A8 0C 02 12 26 02 08 08 02 2A 24 02 20 02 02 12 2A + .byte $30, $2A, $32, $02, $04, $02, $06, $48, $20, $02, $2A, $02, $02, $02, $20, $02 ; CPU:$C8B8 PRG:08B8 30 2A 32 02 04 02 06 48 20 02 2A 02 02 02 20 02 + .byte $2A, $12, $08, $2C, $32, $2A, $1C, $04, $02, $32, $00, $89, $02, $02, $08, $82 ; CPU:$C8C8 PRG:08C8 2A 12 08 2C 32 2A 1C 04 02 32 00 89 02 02 08 82 + .byte $20, $89, $30, $02, $02, $48, $02, $46, $02, $02, $4A, $02, $48, $02, $4A, $02 ; CPU:$C8D8 PRG:08D8 20 89 30 02 02 48 02 46 02 02 4A 02 48 02 4A 02 + .byte $1C, $02, $1E, $24, $46, $02, $20, $02, $02, $2A, $44, $02, $44, $02, $02, $02 ; CPU:$C8E8 PRG:08E8 1C 02 1E 24 46 02 20 02 02 2A 44 02 44 02 02 02 + .byte $24, $1C, $02, $22, $02, $24, $C2, $89, $42, $02, $42, $82, $4A, $1C, $24, $FF ; CPU:$C8F8 PRG:08F8 24 1C 02 22 02 24 C2 89 42 02 42 82 4A 1C 24 FF + .byte $89, $42, $02, $42, $42, $42, $42, $48, $02, $48, $48, $48, $48, $46, $46, $46 ; CPU:$C908 PRG:0908 89 42 02 42 42 42 42 48 02 48 48 48 48 46 46 46 + .byte $44, $02, $42, $C2, $89, $06, $03, $06, $82, $09, $89, $06, $06, $03, $82, $09 ; CPU:$C918 PRG:0918 44 02 42 C2 89 06 03 06 82 09 89 06 06 03 82 09 + .byte $FF, $C2, $06, $03, $06, $03, $06, $06, $FF, $06, $06, $06, $09, $03, $09, $C4 ; CPU:$C928 PRG:0928 FF C2 06 03 06 03 06 06 FF 06 06 06 09 03 09 C4 + .byte $80, $10, $6E, $FF, $00, $89, $02, $02, $2A, $02, $02, $48, $2E, $02, $04, $02 ; CPU:$C938 PRG:0938 80 10 6E FF 00 89 02 02 2A 02 02 48 2E 02 04 02 + .byte $02, $22, $20, $02, $04, $0A, $0E, $10, $12, $0A, $04, $30, $2A, $22, $24, $00 ; CPU:$C948 PRG:0948 02 22 20 02 04 0A 0E 10 12 0A 04 30 2A 22 24 00 + .byte $89, $02, $02, $20, $02, $02, $82, $3C, $89, $2A, $02, $02, $48, $46, $02, $02 ; CPU:$C958 PRG:0958 89 02 02 20 02 02 82 3C 89 2A 02 02 48 46 02 02 + .byte $02, $02, $3A, $02, $02, $22, $02, $02, $46, $48, $89, $1C, $02, $1C, $82, $48 ; CPU:$C968 PRG:0968 02 02 3A 02 02 22 02 02 46 48 89 1C 02 1C 82 48 + .byte $46, $42, $89, $02, $02, $3E, $82, $3A, $38, $36, $34, $89, $02, $02, $12, $82 ; CPU:$C978 PRG:0978 46 42 89 02 02 3E 82 3A 38 36 34 89 02 02 12 82 + .byte $02, $1C, $02, $02, $89, $02, $02, $1C, $82, $1C, $02, $89, $02, $02, $12, $02 ; CPU:$C988 PRG:0988 02 1C 02 02 89 02 02 1C 82 1C 02 89 02 02 12 02 + .byte $02, $2E, $1C, $00, $89, $04, $02, $02, $02, $02, $0E, $0A, $02, $06, $02, $02 ; CPU:$C998 PRG:0998 02 2E 1C 00 89 04 02 02 02 02 0E 0A 02 06 02 02 + .byte $02, $04, $02, $06, $32, $02, $04, $84, $02, $02, $89, $2C, $02, $02, $02, $02 ; CPU:$C9A8 PRG:09A8 02 04 02 06 32 02 04 84 02 02 89 2C 02 02 02 02 + .byte $06, $04, $02, $30, $02, $02, $02, $2C, $02, $30, $2A, $02, $2C, $84, $02, $02 ; CPU:$C9B8 PRG:09B8 06 04 02 30 02 02 02 2C 02 30 2A 02 2C 84 02 02 + .byte $89, $06, $03, $06, $06, $03, $06, $06, $06, $03, $06, $03, $06, $03, $06, $03 ; CPU:$C9C8 PRG:09C8 89 06 03 06 06 03 06 06 06 03 06 03 06 03 06 03 + .byte $06, $03, $06, $06, $03, $03, $06, $03, $09, $03, $06, $03, $06, $03, $06, $06 ; CPU:$C9D8 PRG:09D8 06 03 06 06 03 03 06 03 09 03 06 03 06 03 06 06 + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9E8 PRG:09E8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9F8 PRG:09F8 FF FF FF FF FF FF FF FF +; ----------------------------------------------------------------------------- +; Routine: Reset +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Reset: + cld ; CPU:$CA00 PRG:0A00 D8 + sei ; CPU:$CA01 PRG:0A01 78 +; ----------------------------------------------------------------------------- +; Routine: Label_CA02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA02: + lda $2002 ; CPU:$CA02 PRG:0A02 AD 02 20 + bpl Label_CA02 ; CPU:$CA05 PRG:0A05 10 FB + ldx #$00 ; CPU:$CA07 PRG:0A07 A2 00 + stx $2000 ; CPU:$CA09 PRG:0A09 8E 00 20 + stx $2001 ; CPU:$CA0C PRG:0A0C 8E 01 20 + dex ; CPU:$CA0F PRG:0A0F CA + txs ; CPU:$CA10 PRG:0A10 9A + ldx $05EC ; CPU:$CA11 PRG:0A11 AE EC 05 + jsr $D07A ; CPU:$CA14 PRG:0A14 20 7A D0 + ldy #$06 ; CPU:$CA17 PRG:0A17 A0 06 + sty Zp01 ; CPU:$CA19 PRG:0A19 84 01 + ldy #$00 ; CPU:$CA1B PRG:0A1B A0 00 + sty Zp00 ; CPU:$CA1D PRG:0A1D 84 00 + lda #$00 ; CPU:$CA1F PRG:0A1F A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CA21 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA21: + sta (Zp00),y ; CPU:$CA21 PRG:0A21 91 00 + dey ; CPU:$CA23 PRG:0A23 88 + bne Label_CA21 ; CPU:$CA24 PRG:0A24 D0 FB + dec Zp01 ; CPU:$CA26 PRG:0A26 C6 01 + bpl Label_CA21 ; CPU:$CA28 PRG:0A28 10 F7 + txa ; CPU:$CA2A PRG:0A2A 8A + bne Label_CA2F ; CPU:$CA2B PRG:0A2B D0 02 + ldx #$5F ; CPU:$CA2D PRG:0A2D A2 5F +; ----------------------------------------------------------------------------- +; Routine: Label_CA2F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA2F: + stx $05EC ; CPU:$CA2F PRG:0A2F 8E EC 05 + jsr $CC67 ; CPU:$CA32 PRG:0A32 20 67 CC + jsr $CC77 ; CPU:$CA35 PRG:0A35 20 77 CC + ldy #$00 ; CPU:$CA38 PRG:0A38 A0 00 + sta $2005 ; CPU:$CA3A PRG:0A3A 8D 05 20 + sta $2005 ; CPU:$CA3D PRG:0A3D 8D 05 20 + ldy #$01 ; CPU:$CA40 PRG:0A40 A0 01 + sty Zp24 ; CPU:$CA42 PRG:0A42 84 24 + sty ZpA5 ; CPU:$CA44 PRG:0A44 84 A5 + lda #$0F ; CPU:$CA46 PRG:0A46 A9 0F + sta $4015 ; CPU:$CA48 PRG:0A48 8D 15 40 + jsr $C003 ; CPU:$CA4B PRG:0A4B 20 03 C0 + jsr $E7EF ; CPU:$CA4E PRG:0A4E 20 EF E7 + lda #$90 ; CPU:$CA51 PRG:0A51 A9 90 + sta $2000 ; CPU:$CA53 PRG:0A53 8D 00 20 + sta Zp08 ; CPU:$CA56 PRG:0A56 85 08 + lda #$02 ; CPU:$CA58 PRG:0A58 A9 02 + sta Zp09 ; CPU:$CA5A PRG:0A5A 85 09 + ldx #$0B ; CPU:$CA5C PRG:0A5C A2 0B +; ----------------------------------------------------------------------------- +; Routine: Label_CA5E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA5E: + lda $F68A,x ; CPU:$CA5E PRG:0A5E BD 8A F6 + sta $05F0,x ; CPU:$CA61 PRG:0A61 9D F0 05 + dex ; CPU:$CA64 PRG:0A64 CA + bpl Label_CA5E ; CPU:$CA65 PRG:0A65 10 F7 + bmi Label_CA87 ; CPU:$CA67 PRG:0A67 30 1E +; ----------------------------------------------------------------------------- +; Routine: Label_CA69 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA69: + lda Zp24 ; CPU:$CA69 PRG:0A69 A5 24 + beq Label_CA73 ; CPU:$CA6B PRG:0A6B F0 06 + lda Zp26 ; CPU:$CA6D PRG:0A6D A5 26 + cmp #$01 ; CPU:$CA6F PRG:0A6F C9 01 + bne Label_CA76 ; CPU:$CA71 PRG:0A71 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_CA73 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA73: + jsr $C000 ; CPU:$CA73 PRG:0A73 20 00 C0 +; ----------------------------------------------------------------------------- +; Routine: Label_CA76 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA76: + jsr $CDCA ; CPU:$CA76 PRG:0A76 20 CA CD + jsr $CCD0 ; CPU:$CA79 PRG:0A79 20 D0 CC + jsr $CADA ; CPU:$CA7C PRG:0A7C 20 DA CA + jsr $DB48 ; CPU:$CA7F PRG:0A7F 20 48 DB + inc Zp2F ; CPU:$CA82 PRG:0A82 E6 2F + jsr $D057 ; CPU:$CA84 PRG:0A84 20 57 D0 +; ----------------------------------------------------------------------------- +; Routine: Label_CA87 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA87: + lda Zp20 ; CPU:$CA87 PRG:0A87 A5 20 + bne Label_CA69 ; CPU:$CA89 PRG:0A89 D0 DE + jsr $CFA1 ; CPU:$CA8B PRG:0A8B 20 A1 CF + jmp $CA87 ; CPU:$CA8E PRG:0A8E 4C 87 CA +; ----------------------------------------------------------------------------- +; Routine: NmiHandler +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +NmiHandler: + php ; CPU:$CA91 PRG:0A91 08 + pha ; CPU:$CA92 PRG:0A92 48 + txa ; CPU:$CA93 PRG:0A93 8A + pha ; CPU:$CA94 PRG:0A94 48 + tya ; CPU:$CA95 PRG:0A95 98 + pha ; CPU:$CA96 PRG:0A96 48 + lda Zp86 ; CPU:$CA97 PRG:0A97 A5 86 + bne Label_CAC2 ; CPU:$CA99 PRG:0A99 D0 27 + lda #$00 ; CPU:$CA9B PRG:0A9B A9 00 + sta $2003 ; CPU:$CA9D PRG:0A9D 8D 03 20 + lda #$02 ; CPU:$CAA0 PRG:0AA0 A9 02 + sta $4014 ; CPU:$CAA2 PRG:0AA2 8D 14 40 + lda Zp22 ; CPU:$CAA5 PRG:0AA5 A5 22 + bne Label_CAB5 ; CPU:$CAA7 PRG:0AA7 D0 0C + jsr $CD41 ; CPU:$CAA9 PRG:0AA9 20 41 CD + jsr $CC85 ; CPU:$CAAC PRG:0AAC 20 85 CC + jsr $CCAF ; CPU:$CAAF PRG:0AAF 20 AF CC +; ----------------------------------------------------------------------------- +; Routine: Label_CAB2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CAB2: + jsr $CE43 ; CPU:$CAB2 PRG:0AB2 20 43 CE +; ----------------------------------------------------------------------------- +; Routine: Label_CAB5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CAB5: + ldy #$01 ; CPU:$CAB5 PRG:0AB5 A0 01 + sty Zp22 ; CPU:$CAB7 PRG:0AB7 84 22 + sty Zp20 ; CPU:$CAB9 PRG:0AB9 84 20 + pla ; CPU:$CABB PRG:0ABB 68 + tay ; CPU:$CABC PRG:0ABC A8 + pla ; CPU:$CABD PRG:0ABD 68 + tax ; CPU:$CABE PRG:0ABE AA + pla ; CPU:$CABF PRG:0ABF 68 + plp ; CPU:$CAC0 PRG:0AC0 28 + rti ; CPU:$CAC1 PRG:0AC1 40 +; ----------------------------------------------------------------------------- +; Routine: Label_CAC2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CAC2: + lda Zp09 ; CPU:$CAC2 PRG:0AC2 A5 09 + and #$E7 ; CPU:$CAC4 PRG:0AC4 29 E7 + sta Zp09 ; CPU:$CAC6 PRG:0AC6 85 09 + sta $2001 ; CPU:$CAC8 PRG:0AC8 8D 01 20 + jsr $D174 ; CPU:$CACB PRG:0ACB 20 74 D1 + lda Zp09 ; CPU:$CACE PRG:0ACE A5 09 + ora #$18 ; CPU:$CAD0 PRG:0AD0 09 18 + sta Zp09 ; CPU:$CAD2 PRG:0AD2 85 09 + sta $2001 ; CPU:$CAD4 PRG:0AD4 8D 01 20 + jmp $CAB2 ; CPU:$CAD7 PRG:0AD7 4C B2 CA +; ----------------------------------------------------------------------------- +; Routine: Label_CADA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CADA: + lda Zp24 ; CPU:$CADA PRG:0ADA A5 24 + beq Label_CAE1 ; CPU:$CADC PRG:0ADC F0 03 + jmp $CB91 ; CPU:$CADE PRG:0ADE 4C 91 CB +; ----------------------------------------------------------------------------- +; Routine: Label_CAE1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CAE1: + lda Zp16 ; CPU:$CAE1 PRG:0AE1 A5 16 + and #$10 ; CPU:$CAE3 PRG:0AE3 29 10 + beq Label_CB61 ; CPU:$CAE5 PRG:0AE5 F0 7A + ldy $05FC ; CPU:$CAE7 PRG:0AE7 AC FC 05 + bne Label_CB66 ; CPU:$CAEA PRG:0AEA D0 7A + iny ; CPU:$CAEC PRG:0AEC C8 + sty $05FC ; CPU:$CAED PRG:0AED 8C FC 05 + ldy Zp25 ; CPU:$CAF0 PRG:0AF0 A4 25 + cpy #$10 ; CPU:$CAF2 PRG:0AF2 C0 10 + beq Label_CB31 ; CPU:$CAF4 PRG:0AF4 F0 3B + cpy #$03 ; CPU:$CAF6 PRG:0AF6 C0 03 + beq Label_CB06 ; CPU:$CAF8 PRG:0AF8 F0 0C + cpy #$04 ; CPU:$CAFA PRG:0AFA C0 04 + beq Label_CB06 ; CPU:$CAFC PRG:0AFC F0 08 + cpy #$0B ; CPU:$CAFE PRG:0AFE C0 0B + beq Label_CB06 ; CPU:$CB00 PRG:0B00 F0 04 + cpy #$0C ; CPU:$CB02 PRG:0B02 C0 0C + bne Label_CB66 ; CPU:$CB04 PRG:0B04 D0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CB06 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB06: + lda $0321 ; CPU:$CB06 PRG:0B06 AD 21 03 + cmp #$0B ; CPU:$CB09 PRG:0B09 C9 0B + beq Label_CB66 ; CPU:$CB0B PRG:0B0B F0 59 + ldx #$05 ; CPU:$CB0D PRG:0B0D A2 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CB0F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB0F: + lda Zp2A,x ; CPU:$CB0F PRG:0B0F B5 2A + sta $0430,x ; CPU:$CB11 PRG:0B11 9D 30 04 + dex ; CPU:$CB14 PRG:0B14 CA + bpl Label_CB0F ; CPU:$CB15 PRG:0B15 10 F8 + lda Zp09 ; CPU:$CB17 PRG:0B17 A5 09 + and #$0E ; CPU:$CB19 PRG:0B19 29 0E + sta $2001 ; CPU:$CB1B PRG:0B1B 8D 01 20 + sta Zp09 ; CPU:$CB1E PRG:0B1E 85 09 + lda Zp25 ; CPU:$CB20 PRG:0B20 A5 25 + sta Zp1D ; CPU:$CB22 PRG:0B22 85 1D + lda #$00 ; CPU:$CB24 PRG:0B24 A9 00 + sta Zp96 ; CPU:$CB26 PRG:0B26 85 96 + lda #$10 ; CPU:$CB28 PRG:0B28 A9 10 + sta Zp25 ; CPU:$CB2A PRG:0B2A 85 25 + lda #$02 ; CPU:$CB2C PRG:0B2C A9 02 + jmp $CB55 ; CPU:$CB2E PRG:0B2E 4C 55 CB +; ----------------------------------------------------------------------------- +; Routine: Label_CB31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB31: + lda Zp09 ; CPU:$CB31 PRG:0B31 A5 09 + ora #$10 ; CPU:$CB33 PRG:0B33 09 10 + sta $2001 ; CPU:$CB35 PRG:0B35 8D 01 20 + sta Zp09 ; CPU:$CB38 PRG:0B38 85 09 + lda #$11 ; CPU:$CB3A PRG:0B3A A9 11 + sta Zp25 ; CPU:$CB3C PRG:0B3C 85 25 + lda #$30 ; CPU:$CB3E PRG:0B3E A9 30 + sta Zp1C ; CPU:$CB40 PRG:0B40 85 1C + lda #$00 ; CPU:$CB42 PRG:0B42 A9 00 + jsr $E70C ; CPU:$CB44 PRG:0B44 20 0C E7 + jsr $E793 ; CPU:$CB47 PRG:0B47 20 93 E7 +; ---- data $CB4A-$CB4A (1 bytes) ---- + .byte $A5 ; CPU:$CB4A PRG:0B4A A5 +; ----------------------------------------------------------------------------- +; Routine: Label_CB4B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB4B: + inc ZpD0 ; CPU:$CB4B PRG:0B4B E6 D0 +; ---- data $CB4D-$CB4D (1 bytes) ---- + .byte $03 ; CPU:$CB4D PRG:0B4D 03 +; ----------------------------------------------------------------------------- +; Routine: Label_CB4E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB4E: + jmp $E7F7 ; CPU:$CB4E PRG:0B4E 4C F7 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_CB51 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB51: + jsr $D012 ; CPU:$CB51 PRG:0B51 20 12 D0 + rts ; CPU:$CB54 PRG:0B54 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CB55 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB55: + jsr $E70C ; CPU:$CB55 PRG:0B55 20 0C E7 + jsr $E793 ; CPU:$CB58 PRG:0B58 20 93 E7 + jsr $D012 ; CPU:$CB5B PRG:0B5B 20 12 D0 + jmp $E7DB ; CPU:$CB5E PRG:0B5E 4C DB E7 +; ----------------------------------------------------------------------------- +; Routine: Label_CB61 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB61: + lda #$00 ; CPU:$CB61 PRG:0B61 A9 00 + sta $05FC ; CPU:$CB63 PRG:0B63 8D FC 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CB66 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB66: + lda Zp25 ; CPU:$CB66 PRG:0B66 A5 25 + jsr $CDE0 ; CPU:$CB68 PRG:0B68 20 E0 CD + sta $B7D0,x ; CPU:$CB6B PRG:0B6B 9D D0 B7 + bne Label_CB4E ; CPU:$CB6E PRG:0B6E D0 DE +; ---- data $CB70-$CBAC (61 bytes) ---- +; referenced by `jmp $CB91` at $CADE (operand $CB91 falls inside this region) + .byte $D0, $87, $D1, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19 ; CPU:$CB70 PRG:0B70 D0 87 D1 19 D0 19 D0 19 D0 19 D0 19 D0 19 D0 19 + .byte $D0, $19, $D0, $19, $D0, $19, $D0, $52, $D1, $19, $D0, $19, $D0, $BD, $CC, $5E ; CPU:$CB80 PRG:0B80 D0 19 D0 19 D0 19 D0 52 D1 19 D0 19 D0 BD CC 5E + .byte $D0, $A5, $C0, $D0, $2B, $A9, $11, $8D, $00, $05, $A0, $22, $A2, $26, $AD, $FE ; CPU:$CB90 PRG:0B90 D0 A5 C0 D0 2B A9 11 8D 00 05 A0 22 A2 26 AD FE + .byte $05, $F0, $02, $A2, $2F, $8E, $01, $05, $A2, $64, $20, $8E, $D0 ; CPU:$CBA0 PRG:0BA0 05 F0 02 A2 2F 8E 01 05 A2 64 20 8E D0 + ldx #$26 ; CPU:$CBAD PRG:0BAD A2 26 + lda $05FE ; CPU:$CBAF PRG:0BAF AD FE 05 + bne Label_CBB6 ; CPU:$CBB2 PRG:0BB2 D0 02 + ldx #$2F ; CPU:$CBB4 PRG:0BB4 A2 2F +; ----------------------------------------------------------------------------- +; Routine: Label_CBB6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBB6: + stx $0501 ; CPU:$CBB6 PRG:0BB6 8E 01 05 + ldx #$A4 ; CPU:$CBB9 PRG:0BB9 A2 A4 + ldy #$22 ; CPU:$CBBB PRG:0BBB A0 22 + jsr $D08E ; CPU:$CBBD PRG:0BBD 20 8E D0 +; ----------------------------------------------------------------------------- +; Routine: Label_CBC0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBC0: + lda #$00 ; CPU:$CBC0 PRG:0BC0 A9 00 + sta $05FF ; CPU:$CBC2 PRG:0BC2 8D FF 05 + lda #$01 ; CPU:$CBC5 PRG:0BC5 A9 01 + sta ZpB9 ; CPU:$CBC7 PRG:0BC7 85 B9 + sta ZpBA ; CPU:$CBC9 PRG:0BC9 85 BA + lda Zp26 ; CPU:$CBCB PRG:0BCB A5 26 + beq Label_CBFB ; CPU:$CBCD PRG:0BCD F0 2C + lda $05FF ; CPU:$CBCF PRG:0BCF AD FF 05 + cmp #$01 ; CPU:$CBD2 PRG:0BD2 C9 01 + beq Label_CBE2 ; CPU:$CBD4 PRG:0BD4 F0 0C + cmp #$02 ; CPU:$CBD6 PRG:0BD6 C9 02 + beq Label_CC0B ; CPU:$CBD8 PRG:0BD8 F0 31 +; ----------------------------------------------------------------------------- +; Routine: Label_CBDA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBDA: + lda Zp16 ; CPU:$CBDA PRG:0BDA A5 16 + and #$30 ; CPU:$CBDC PRG:0BDC 29 30 + cmp #$10 ; CPU:$CBDE PRG:0BDE C9 10 + bne Label_CBF7 ; CPU:$CBE0 PRG:0BE0 D0 15 +; ----------------------------------------------------------------------------- +; Routine: Label_CBE2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBE2: + lda #$00 ; CPU:$CBE2 PRG:0BE2 A9 00 + sta Zp24 ; CPU:$CBE4 PRG:0BE4 85 24 + sta Zp25 ; CPU:$CBE6 PRG:0BE6 85 25 + sta ZpC0 ; CPU:$CBE8 PRG:0BE8 85 C0 + jsr $E793 ; CPU:$CBEA PRG:0BEA 20 93 E7 + jsr $D01A ; CPU:$CBED PRG:0BED 20 1A D0 + lda #$02 ; CPU:$CBF0 PRG:0BF0 A9 02 + sta Zp2A ; CPU:$CBF2 PRG:0BF2 85 2A + sta Zp2D ; CPU:$CBF4 PRG:0BF4 85 2D + rts ; CPU:$CBF6 PRG:0BF6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CBF7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBF7: + ldx Zp26 ; CPU:$CBF7 PRG:0BF7 A6 26 + bne Label_CC02 ; CPU:$CBF9 PRG:0BF9 D0 07 +; ----------------------------------------------------------------------------- +; Routine: Label_CBFB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBFB: + lda #$30 ; CPU:$CBFB PRG:0BFB A9 30 + sta Zp2D ; CPU:$CBFD PRG:0BFD 85 2D + jmp $CC42 ; CPU:$CBFF PRG:0BFF 4C 42 CC +; ----------------------------------------------------------------------------- +; Routine: Label_CC02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC02: + cmp #$20 ; CPU:$CC02 PRG:0C02 C9 20 + bne Label_CC1B ; CPU:$CC04 PRG:0C04 D0 15 + lda $05FD ; CPU:$CC06 PRG:0C06 AD FD 05 + bne Label_CC29 ; CPU:$CC09 PRG:0C09 D0 1E +; ----------------------------------------------------------------------------- +; Routine: Label_CC0B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC0B: + ldy $05FE ; CPU:$CC0B PRG:0C0B AC FE 05 + iny ; CPU:$CC0E PRG:0C0E C8 + cpy #$02 ; CPU:$CC0F PRG:0C0F C0 02 + bne Label_CC15 ; CPU:$CC11 PRG:0C11 D0 02 + ldy #$00 ; CPU:$CC13 PRG:0C13 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CC15 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC15: + sty $05FE ; CPU:$CC15 PRG:0C15 8C FE 05 + jmp $CC24 ; CPU:$CC18 PRG:0C18 4C 24 CC +; ----------------------------------------------------------------------------- +; Routine: Label_CC1B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC1B: + cmp #$00 ; CPU:$CC1B PRG:0C1B C9 00 + bne Label_CC24 ; CPU:$CC1D PRG:0C1D D0 05 + sta $05FD ; CPU:$CC1F PRG:0C1F 8D FD 05 + beq Label_CC3E ; CPU:$CC22 PRG:0C22 F0 1A +; ----------------------------------------------------------------------------- +; Routine: Label_CC24 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC24: + lda #$01 ; CPU:$CC24 PRG:0C24 A9 01 + sta $05FD ; CPU:$CC26 PRG:0C26 8D FD 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CC29 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC29: + lda ZpC0 ; CPU:$CC29 PRG:0C29 A5 C0 + beq Label_CC3A ; CPU:$CC2B PRG:0C2B F0 0D + lda #$00 ; CPU:$CC2D PRG:0C2D A9 00 + sta ZpC0 ; CPU:$CC2F PRG:0C2F 85 C0 + sta ZpF0 ; CPU:$CC31 PRG:0C31 85 F0 + sta ZpF1 ; CPU:$CC33 PRG:0C33 85 F1 + sta ZpF2 ; CPU:$CC35 PRG:0C35 85 F2 + jmp $DA25 ; CPU:$CC37 PRG:0C37 4C 25 DA +; ----------------------------------------------------------------------------- +; Routine: Label_CC3A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC3A: + lda #$30 ; CPU:$CC3A PRG:0C3A A9 30 + sta Zp2D ; CPU:$CC3C PRG:0C3C 85 2D +; ----------------------------------------------------------------------------- +; Routine: Label_CC3E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC3E: + cpx #$01 ; CPU:$CC3E PRG:0C3E E0 01 + bne Label_CC42 ; CPU:$CC40 PRG:0C40 D0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CC42 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC42: + lda ZpC0 ; CPU:$CC42 PRG:0C42 A5 C0 + bne Label_CC5C ; CPU:$CC44 PRG:0C44 D0 16 + lda ZpA4 ; CPU:$CC46 PRG:0C46 A5 A4 + sta $0501 ; CPU:$CC48 PRG:0C48 8D 01 05 + lda ZpA5 ; CPU:$CC4B PRG:0C4B A5 A5 + sta $0502 ; CPU:$CC4D PRG:0C4D 8D 02 05 + lda #$12 ; CPU:$CC50 PRG:0C50 A9 12 + sta $0500 ; CPU:$CC52 PRG:0C52 8D 00 05 + ldx #$F4 ; CPU:$CC55 PRG:0C55 A2 F4 + ldy #$22 ; CPU:$CC57 PRG:0C57 A0 22 + jsr $D08E ; CPU:$CC59 PRG:0C59 20 8E D0 +; ----------------------------------------------------------------------------- +; Routine: Label_CC5C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC5C: + lda Zp26 ; CPU:$CC5C PRG:0C5C A5 26 + jsr $CDE0 ; CPU:$CC5E PRG:0C5E 20 E0 CD +; ---- data $CC61-$CC66 (6 bytes) ---- + .byte $C3, $CF, $F2, $CF, $0F, $D0 ; CPU:$CC61 PRG:0C61 C3 CF F2 CF 0F D0 +; ----------------------------------------------------------------------------- +; Routine: Label_CC67 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC67: + lda #$02 ; CPU:$CC67 PRG:0C67 A9 02 + jsr $CC6E ; CPU:$CC69 PRG:0C69 20 6E CC + lda #$01 ; CPU:$CC6C PRG:0C6C A9 01 +; ----------------------------------------------------------------------------- +; Routine: Label_CC6E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC6E: + sta Zp01 ; CPU:$CC6E PRG:0C6E 85 01 + lda #$2F ; CPU:$CC70 PRG:0C70 A9 2F + sta Zp00 ; CPU:$CC72 PRG:0C72 85 00 + jmp $CD85 ; CPU:$CC74 PRG:0C74 4C 85 CD +; ----------------------------------------------------------------------------- +; Routine: Label_CC77 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC77: + ldy #$00 ; CPU:$CC77 PRG:0C77 A0 00 + lda #$F4 ; CPU:$CC79 PRG:0C79 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: Label_CC7B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC7B: + sta $0200,y ; CPU:$CC7B PRG:0C7B 99 00 02 + iny ; CPU:$CC7E PRG:0C7E C8 + iny ; CPU:$CC7F PRG:0C7F C8 + iny ; CPU:$CC80 PRG:0C80 C8 + iny ; CPU:$CC81 PRG:0C81 C8 + bne Label_CC7B ; CPU:$CC82 PRG:0C82 D0 F7 + rts ; CPU:$CC84 PRG:0C84 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CC85 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC85: + ldy Zp23 ; CPU:$CC85 PRG:0C85 A4 23 + beq Label_CCAE ; CPU:$CC87 PRG:0C87 F0 25 + dey ; CPU:$CC89 PRG:0C89 88 + tya ; CPU:$CC8A PRG:0C8A 98 + asl a ; CPU:$CC8B PRG:0C8B 0A + tay ; CPU:$CC8C PRG:0C8C A8 + lda $F5B2,y ; CPU:$CC8D PRG:0C8D B9 B2 F5 + ldx $F5B3,y ; CPU:$CC90 PRG:0C90 BE B3 F5 + ldy #$00 ; CPU:$CC93 PRG:0C93 A0 00 + sty Zp23 ; CPU:$CC95 PRG:0C95 84 23 +; ----------------------------------------------------------------------------- +; Routine: Label_CC97 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC97: + sta Zp00 ; CPU:$CC97 PRG:0C97 85 00 + stx Zp01 ; CPU:$CC99 PRG:0C99 86 01 + jsr $CE3A ; CPU:$CC9B PRG:0C9B 20 3A CE + lda #$3F ; CPU:$CC9E PRG:0C9E A9 3F + sta $2006 ; CPU:$CCA0 PRG:0CA0 8D 06 20 + lda #$00 ; CPU:$CCA3 PRG:0CA3 A9 00 + sta $2006 ; CPU:$CCA5 PRG:0CA5 8D 06 20 + sta $2006 ; CPU:$CCA8 PRG:0CA8 8D 06 20 + sta $2006 ; CPU:$CCAB PRG:0CAB 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: Label_CCAE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCAE: + rts ; CPU:$CCAE PRG:0CAE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CCAF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCAF: + ldy Zp27 ; CPU:$CCAF PRG:0CAF A4 27 + beq Label_CCAE ; CPU:$CCB1 PRG:0CB1 F0 FB + ldy #$00 ; CPU:$CCB3 PRG:0CB3 A0 00 + sty Zp27 ; CPU:$CCB5 PRG:0CB5 84 27 + lda #$00 ; CPU:$CCB7 PRG:0CB7 A9 00 + ldx #$04 ; CPU:$CCB9 PRG:0CB9 A2 04 + bne Label_CC97 ; CPU:$CCBB PRG:0CBB D0 DA + dec Zp1C ; CPU:$CCBD PRG:0CBD C6 1C + bne Label_CCCF ; CPU:$CCBF PRG:0CBF D0 0E + ldx #$05 ; CPU:$CCC1 PRG:0CC1 A2 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CCC3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCC3: + lda $0430,x ; CPU:$CCC3 PRG:0CC3 BD 30 04 + sta Zp2A,x ; CPU:$CCC6 PRG:0CC6 95 2A + dex ; CPU:$CCC8 PRG:0CC8 CA + bpl Label_CCC3 ; CPU:$CCC9 PRG:0CC9 10 F8 + lda Zp1D ; CPU:$CCCB PRG:0CCB A5 1D + sta Zp25 ; CPU:$CCCD PRG:0CCD 85 25 +; ----------------------------------------------------------------------------- +; Routine: Label_CCCF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCCF: + rts ; CPU:$CCCF PRG:0CCF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CCD0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCD0: + lda #$01 ; CPU:$CCD0 PRG:0CD0 A9 01 + sta $4016 ; CPU:$CCD2 PRG:0CD2 8D 16 40 + lda #$00 ; CPU:$CCD5 PRG:0CD5 A9 00 + sta $4016 ; CPU:$CCD7 PRG:0CD7 8D 16 40 + ldy #$40 ; CPU:$CCDA PRG:0CDA A0 40 + ldx $032A ; CPU:$CCDC PRG:0CDC AE 2A 03 + beq Label_CCE3 ; CPU:$CCDF PRG:0CDF F0 02 + ldy #$42 ; CPU:$CCE1 PRG:0CE1 A0 42 +; ----------------------------------------------------------------------------- +; Routine: Label_CCE3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCE3: + sty Zp01 ; CPU:$CCE3 PRG:0CE3 84 01 + ldx #$00 ; CPU:$CCE5 PRG:0CE5 A2 00 + jsr $CCFB ; CPU:$CCE7 PRG:0CE7 20 FB CC + ldy #$40 ; CPU:$CCEA PRG:0CEA A0 40 + ldx $030A ; CPU:$CCEC PRG:0CEC AE 0A 03 + beq Label_CCF3 ; CPU:$CCEF PRG:0CEF F0 02 + ldy #$41 ; CPU:$CCF1 PRG:0CF1 A0 41 +; ----------------------------------------------------------------------------- +; Routine: Label_CCF3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCF3: + sty Zp01 ; CPU:$CCF3 PRG:0CF3 84 01 + ldx #$01 ; CPU:$CCF5 PRG:0CF5 A2 01 + jsr $CCFB ; CPU:$CCF7 PRG:0CF7 20 FB CC + rts ; CPU:$CCFA PRG:0CFA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CCFB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCFB: + ldy #$08 ; CPU:$CCFB PRG:0CFB A0 08 +; ----------------------------------------------------------------------------- +; Routine: Label_CCFD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCFD: + pha ; CPU:$CCFD PRG:0CFD 48 + lda Zp16,x ; CPU:$CCFE PRG:0CFE B5 16 + and Zp01 ; CPU:$CD00 PRG:0D00 25 01 + sta Zp02 ; CPU:$CD02 PRG:0D02 85 02 + lda $4016,x ; CPU:$CD04 PRG:0D04 BD 16 40 + sta Zp00 ; CPU:$CD07 PRG:0D07 85 00 + lsr a ; CPU:$CD09 PRG:0D09 4A + ora Zp00 ; CPU:$CD0A PRG:0D0A 05 00 + lsr a ; CPU:$CD0C PRG:0D0C 4A + pla ; CPU:$CD0D PRG:0D0D 68 + rol a ; CPU:$CD0E PRG:0D0E 2A + dey ; CPU:$CD0F PRG:0D0F 88 + bne Label_CCFD ; CPU:$CD10 PRG:0D10 D0 EB + ldy Zp16,x ; CPU:$CD12 PRG:0D12 B4 16 + sty Zp00 ; CPU:$CD14 PRG:0D14 84 00 + sta Zp16,x ; CPU:$CD16 PRG:0D16 95 16 + and #$FF ; CPU:$CD18 PRG:0D18 29 FF + bpl Label_CD22 ; CPU:$CD1A PRG:0D1A 10 06 + bit Zp00 ; CPU:$CD1C PRG:0D1C 24 00 + bpl Label_CD22 ; CPU:$CD1E PRG:0D1E 10 02 + and #$7F ; CPU:$CD20 PRG:0D20 29 7F +; ----------------------------------------------------------------------------- +; Routine: Label_CD22 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD22: + ldy Zp18,x ; CPU:$CD22 PRG:0D22 B4 18 + sta Zp18,x ; CPU:$CD24 PRG:0D24 95 18 + tya ; CPU:$CD26 PRG:0D26 98 + and #$0F ; CPU:$CD27 PRG:0D27 29 0F + and Zp18,x ; CPU:$CD29 PRG:0D29 35 18 + beq Label_CD33 ; CPU:$CD2B PRG:0D2B F0 06 + ora #$F0 ; CPU:$CD2D PRG:0D2D 09 F0 + and Zp18,x ; CPU:$CD2F PRG:0D2F 35 18 + sta Zp18,x ; CPU:$CD31 PRG:0D31 95 18 +; ----------------------------------------------------------------------------- +; Routine: Label_CD33 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD33: + lda Zp02 ; CPU:$CD33 PRG:0D33 A5 02 + bne Label_CD38 ; CPU:$CD35 PRG:0D35 D0 01 + rts ; CPU:$CD37 PRG:0D37 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD38 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD38: + lda #$FF ; CPU:$CD38 PRG:0D38 A9 FF + eor Zp01 ; CPU:$CD3A PRG:0D3A 45 01 + and Zp18,x ; CPU:$CD3C PRG:0D3C 35 18 + sta Zp18,x ; CPU:$CD3E PRG:0D3E 95 18 + rts ; CPU:$CD40 PRG:0D40 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD41 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD41: + lda Zp21 ; CPU:$CD41 PRG:0D41 A5 21 + beq Label_CD84 ; CPU:$CD43 PRG:0D43 F0 3F + lda #$21 ; CPU:$CD45 PRG:0D45 A9 21 + sta Zp00 ; CPU:$CD47 PRG:0D47 85 00 + lda #$05 ; CPU:$CD49 PRG:0D49 A9 05 + sta Zp01 ; CPU:$CD4B PRG:0D4B 85 01 + lda Zp08 ; CPU:$CD4D PRG:0D4D A5 08 + and #$FB ; CPU:$CD4F PRG:0D4F 29 FB + sta $2000 ; CPU:$CD51 PRG:0D51 8D 00 20 + sta Zp08 ; CPU:$CD54 PRG:0D54 85 08 + ldx $2002 ; CPU:$CD56 PRG:0D56 AE 02 20 + ldy #$00 ; CPU:$CD59 PRG:0D59 A0 00 + beq Label_CD76 ; CPU:$CD5B PRG:0D5B F0 19 +; ----------------------------------------------------------------------------- +; Routine: Label_CD5D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD5D: + sta $2006 ; CPU:$CD5D PRG:0D5D 8D 06 20 + iny ; CPU:$CD60 PRG:0D60 C8 + lda (Zp00),y ; CPU:$CD61 PRG:0D61 B1 00 + sta $2006 ; CPU:$CD63 PRG:0D63 8D 06 20 + iny ; CPU:$CD66 PRG:0D66 C8 + lda (Zp00),y ; CPU:$CD67 PRG:0D67 B1 00 + and #$3F ; CPU:$CD69 PRG:0D69 29 3F + tax ; CPU:$CD6B PRG:0D6B AA +; ----------------------------------------------------------------------------- +; Routine: Label_CD6C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD6C: + iny ; CPU:$CD6C PRG:0D6C C8 + lda (Zp00),y ; CPU:$CD6D PRG:0D6D B1 00 + sta $2007 ; CPU:$CD6F PRG:0D6F 8D 07 20 + dex ; CPU:$CD72 PRG:0D72 CA + bne Label_CD6C ; CPU:$CD73 PRG:0D73 D0 F7 + iny ; CPU:$CD75 PRG:0D75 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_CD76 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD76: + lda (Zp00),y ; CPU:$CD76 PRG:0D76 B1 00 + bne Label_CD5D ; CPU:$CD78 PRG:0D78 D0 E3 + lda #$00 ; CPU:$CD7A PRG:0D7A A9 00 + sta $0520 ; CPU:$CD7C PRG:0D7C 8D 20 05 + sta $0521 ; CPU:$CD7F PRG:0D7F 8D 21 05 + sta Zp21 ; CPU:$CD82 PRG:0D82 85 21 +; ----------------------------------------------------------------------------- +; Routine: Label_CD84 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD84: + rts ; CPU:$CD84 PRG:0D84 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD85 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD85: + lda $2002 ; CPU:$CD85 PRG:0D85 AD 02 20 + lda Zp08 ; CPU:$CD88 PRG:0D88 A5 08 + and #$FB ; CPU:$CD8A PRG:0D8A 29 FB + sta $2000 ; CPU:$CD8C PRG:0D8C 8D 00 20 + sta Zp08 ; CPU:$CD8F PRG:0D8F 85 08 + lda #$1C ; CPU:$CD91 PRG:0D91 A9 1C + clc ; CPU:$CD93 PRG:0D93 18 +; ----------------------------------------------------------------------------- +; Routine: Label_CD94 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD94: + adc #$04 ; CPU:$CD94 PRG:0D94 69 04 + dec Zp01 ; CPU:$CD96 PRG:0D96 C6 01 + bne Label_CD94 ; CPU:$CD98 PRG:0D98 D0 FA + sta Zp02 ; CPU:$CD9A PRG:0D9A 85 02 + sta $2006 ; CPU:$CD9C PRG:0D9C 8D 06 20 + lda #$00 ; CPU:$CD9F PRG:0D9F A9 00 + sta $2006 ; CPU:$CDA1 PRG:0DA1 8D 06 20 + ldx #$04 ; CPU:$CDA4 PRG:0DA4 A2 04 + ldy #$00 ; CPU:$CDA6 PRG:0DA6 A0 00 + lda Zp00 ; CPU:$CDA8 PRG:0DA8 A5 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CDAA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDAA: + sta $2007 ; CPU:$CDAA PRG:0DAA 8D 07 20 + dey ; CPU:$CDAD PRG:0DAD 88 + bne Label_CDAA ; CPU:$CDAE PRG:0DAE D0 FA + dex ; CPU:$CDB0 PRG:0DB0 CA + bne Label_CDAA ; CPU:$CDB1 PRG:0DB1 D0 F7 + lda Zp02 ; CPU:$CDB3 PRG:0DB3 A5 02 + adc #$03 ; CPU:$CDB5 PRG:0DB5 69 03 + sta $2006 ; CPU:$CDB7 PRG:0DB7 8D 06 20 + lda #$C0 ; CPU:$CDBA PRG:0DBA A9 C0 + sta $2006 ; CPU:$CDBC PRG:0DBC 8D 06 20 + ldy #$40 ; CPU:$CDBF PRG:0DBF A0 40 + lda #$00 ; CPU:$CDC1 PRG:0DC1 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CDC3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDC3: + sta $2007 ; CPU:$CDC3 PRG:0DC3 8D 07 20 + dey ; CPU:$CDC6 PRG:0DC6 88 + bne Label_CDC3 ; CPU:$CDC7 PRG:0DC7 D0 FA + rts ; CPU:$CDC9 PRG:0DC9 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CDCA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDCA: + ldx #$01 ; CPU:$CDCA PRG:0DCA A2 01 + dec Zp2A ; CPU:$CDCC PRG:0DCC C6 2A + bpl Label_CDD6 ; CPU:$CDCE PRG:0DCE 10 06 + lda #$0A ; CPU:$CDD0 PRG:0DD0 A9 0A + sta Zp2A ; CPU:$CDD2 PRG:0DD2 85 2A + ldx #$03 ; CPU:$CDD4 PRG:0DD4 A2 03 +; ----------------------------------------------------------------------------- +; Routine: Label_CDD6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDD6: + lda Zp2B,x ; CPU:$CDD6 PRG:0DD6 B5 2B + beq Label_CDDC ; CPU:$CDD8 PRG:0DD8 F0 02 + dec Zp2B,x ; CPU:$CDDA PRG:0DDA D6 2B +; ----------------------------------------------------------------------------- +; Routine: Label_CDDC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDDC: + dex ; CPU:$CDDC PRG:0DDC CA + bpl Label_CDD6 ; CPU:$CDDD PRG:0DDD 10 F7 + rts ; CPU:$CDDF PRG:0DDF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CDE0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDE0: + stx Zp28 ; CPU:$CDE0 PRG:0DE0 86 28 + sty Zp29 ; CPU:$CDE2 PRG:0DE2 84 29 + asl a ; CPU:$CDE4 PRG:0DE4 0A + tay ; CPU:$CDE5 PRG:0DE5 A8 + iny ; CPU:$CDE6 PRG:0DE6 C8 + pla ; CPU:$CDE7 PRG:0DE7 68 + sta Zp14 ; CPU:$CDE8 PRG:0DE8 85 14 + pla ; CPU:$CDEA PRG:0DEA 68 + sta Zp15 ; CPU:$CDEB PRG:0DEB 85 15 + lda (Zp14),y ; CPU:$CDED PRG:0DED B1 14 + tax ; CPU:$CDEF PRG:0DEF AA + iny ; CPU:$CDF0 PRG:0DF0 C8 + lda (Zp14),y ; CPU:$CDF1 PRG:0DF1 B1 14 + sta Zp15 ; CPU:$CDF3 PRG:0DF3 85 15 + stx Zp14 ; CPU:$CDF5 PRG:0DF5 86 14 + ldx Zp28 ; CPU:$CDF7 PRG:0DF7 A6 28 + ldy Zp29 ; CPU:$CDF9 PRG:0DF9 A4 29 + jmp ($0014) ; CPU:$CDFB PRG:0DFB 6C 14 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CDFE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDFE: + sta $2006 ; CPU:$CDFE PRG:0DFE 8D 06 20 + iny ; CPU:$CE01 PRG:0E01 C8 + lda (Zp00),y ; CPU:$CE02 PRG:0E02 B1 00 + sta $2006 ; CPU:$CE04 PRG:0E04 8D 06 20 + iny ; CPU:$CE07 PRG:0E07 C8 + lda (Zp00),y ; CPU:$CE08 PRG:0E08 B1 00 + asl a ; CPU:$CE0A PRG:0E0A 0A + pha ; CPU:$CE0B PRG:0E0B 48 + lda Zp08 ; CPU:$CE0C PRG:0E0C A5 08 + ora #$04 ; CPU:$CE0E PRG:0E0E 09 04 + bcs Label_CE14 ; CPU:$CE10 PRG:0E10 B0 02 + and #$FB ; CPU:$CE12 PRG:0E12 29 FB +; ----------------------------------------------------------------------------- +; Routine: Label_CE14 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE14: + sta $2000 ; CPU:$CE14 PRG:0E14 8D 00 20 + sta Zp08 ; CPU:$CE17 PRG:0E17 85 08 + pla ; CPU:$CE19 PRG:0E19 68 + asl a ; CPU:$CE1A PRG:0E1A 0A + bcc Label_CE20 ; CPU:$CE1B PRG:0E1B 90 03 + ora #$02 ; CPU:$CE1D PRG:0E1D 09 02 + iny ; CPU:$CE1F PRG:0E1F C8 +; ----------------------------------------------------------------------------- +; Routine: Label_CE20 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE20: + lsr a ; CPU:$CE20 PRG:0E20 4A + lsr a ; CPU:$CE21 PRG:0E21 4A + tax ; CPU:$CE22 PRG:0E22 AA +; ----------------------------------------------------------------------------- +; Routine: Label_CE23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE23: + bcs Label_CE26 ; CPU:$CE23 PRG:0E23 B0 01 + iny ; CPU:$CE25 PRG:0E25 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_CE26 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE26: + lda (Zp00),y ; CPU:$CE26 PRG:0E26 B1 00 + sta $2007 ; CPU:$CE28 PRG:0E28 8D 07 20 + dex ; CPU:$CE2B PRG:0E2B CA + bne Label_CE23 ; CPU:$CE2C PRG:0E2C D0 F5 + sec ; CPU:$CE2E PRG:0E2E 38 + tya ; CPU:$CE2F PRG:0E2F 98 + adc Zp00 ; CPU:$CE30 PRG:0E30 65 00 + sta Zp00 ; CPU:$CE32 PRG:0E32 85 00 + lda #$00 ; CPU:$CE34 PRG:0E34 A9 00 + adc Zp01 ; CPU:$CE36 PRG:0E36 65 01 + sta Zp01 ; CPU:$CE38 PRG:0E38 85 01 +; ----------------------------------------------------------------------------- +; Routine: Label_CE3A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE3A: + ldx $2002 ; CPU:$CE3A PRG:0E3A AE 02 20 + ldy #$00 ; CPU:$CE3D PRG:0E3D A0 00 + lda (Zp00),y ; CPU:$CE3F PRG:0E3F B1 00 + bne Label_CDFE ; CPU:$CE41 PRG:0E41 D0 BB +; ----------------------------------------------------------------------------- +; Routine: Label_CE43 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE43: + pha ; CPU:$CE43 PRG:0E43 48 + lda Zp0A ; CPU:$CE44 PRG:0E44 A5 0A + sta $2005 ; CPU:$CE46 PRG:0E46 8D 05 20 + lda Zp0B ; CPU:$CE49 PRG:0E49 A5 0B + sta $2005 ; CPU:$CE4B PRG:0E4B 8D 05 20 + lda Zp08 ; CPU:$CE4E PRG:0E4E A5 08 + sta $2000 ; CPU:$CE50 PRG:0E50 8D 00 20 + pla ; CPU:$CE53 PRG:0E53 68 + rts ; CPU:$CE54 PRG:0E54 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CE55 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE55: + lda #$01 ; CPU:$CE55 PRG:0E55 A9 01 + sta Zp21 ; CPU:$CE57 PRG:0E57 85 21 + ldy #$00 ; CPU:$CE59 PRG:0E59 A0 00 + lda (Zp02),y ; CPU:$CE5B PRG:0E5B B1 02 + and #$0F ; CPU:$CE5D PRG:0E5D 29 0F + sta Zp05 ; CPU:$CE5F PRG:0E5F 85 05 + lda (Zp02),y ; CPU:$CE61 PRG:0E61 B1 02 + lsr a ; CPU:$CE63 PRG:0E63 4A + lsr a ; CPU:$CE64 PRG:0E64 4A + lsr a ; CPU:$CE65 PRG:0E65 4A + lsr a ; CPU:$CE66 PRG:0E66 4A + sta Zp04 ; CPU:$CE67 PRG:0E67 85 04 + ldx $0520 ; CPU:$CE69 PRG:0E69 AE 20 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CE6C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE6C: + lda Zp01 ; CPU:$CE6C PRG:0E6C A5 01 + sta $0521,x ; CPU:$CE6E PRG:0E6E 9D 21 05 + jsr $CEAD ; CPU:$CE71 PRG:0E71 20 AD CE + lda Zp00 ; CPU:$CE74 PRG:0E74 A5 00 + sta $0521,x ; CPU:$CE76 PRG:0E76 9D 21 05 + jsr $CEAD ; CPU:$CE79 PRG:0E79 20 AD CE + lda Zp05 ; CPU:$CE7C PRG:0E7C A5 05 + sta Zp06 ; CPU:$CE7E PRG:0E7E 85 06 + sta $0521,x ; CPU:$CE80 PRG:0E80 9D 21 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CE83 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE83: + jsr $CEAD ; CPU:$CE83 PRG:0E83 20 AD CE + iny ; CPU:$CE86 PRG:0E86 C8 + lda (Zp02),y ; CPU:$CE87 PRG:0E87 B1 02 + sta $0521,x ; CPU:$CE89 PRG:0E89 9D 21 05 + dec Zp06 ; CPU:$CE8C PRG:0E8C C6 06 + bne Label_CE83 ; CPU:$CE8E PRG:0E8E D0 F3 + jsr $CEAD ; CPU:$CE90 PRG:0E90 20 AD CE + stx $0520 ; CPU:$CE93 PRG:0E93 8E 20 05 + clc ; CPU:$CE96 PRG:0E96 18 + lda #$20 ; CPU:$CE97 PRG:0E97 A9 20 + adc Zp00 ; CPU:$CE99 PRG:0E99 65 00 + sta Zp00 ; CPU:$CE9B PRG:0E9B 85 00 + lda #$00 ; CPU:$CE9D PRG:0E9D A9 00 + adc Zp01 ; CPU:$CE9F PRG:0E9F 65 01 + sta Zp01 ; CPU:$CEA1 PRG:0EA1 85 01 + dec Zp04 ; CPU:$CEA3 PRG:0EA3 C6 04 + bne Label_CE6C ; CPU:$CEA5 PRG:0EA5 D0 C5 + lda #$00 ; CPU:$CEA7 PRG:0EA7 A9 00 + sta $0521,x ; CPU:$CEA9 PRG:0EA9 9D 21 05 + rts ; CPU:$CEAC PRG:0EAC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CEAD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEAD: + inx ; CPU:$CEAD PRG:0EAD E8 + txa ; CPU:$CEAE PRG:0EAE 8A + cmp #$6F ; CPU:$CEAF PRG:0EAF C9 6F + bcc Label_CEBD ; CPU:$CEB1 PRG:0EB1 90 0A + ldx $0520 ; CPU:$CEB3 PRG:0EB3 AE 20 05 + lda #$00 ; CPU:$CEB6 PRG:0EB6 A9 00 + sta $0521,x ; CPU:$CEB8 PRG:0EB8 9D 21 05 + pla ; CPU:$CEBB PRG:0EBB 68 + pla ; CPU:$CEBC PRG:0EBC 68 +; ----------------------------------------------------------------------------- +; Routine: Label_CEBD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEBD: + rts ; CPU:$CEBD PRG:0EBD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CEBE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEBE: + clc ; CPU:$CEBE PRG:0EBE 18 + adc #$01 ; CPU:$CEBF PRG:0EBF 69 01 + and #$0F ; CPU:$CEC1 PRG:0EC1 29 0F + asl a ; CPU:$CEC3 PRG:0EC3 0A + asl a ; CPU:$CEC4 PRG:0EC4 0A +; ----------------------------------------------------------------------------- +; Routine: Label_CEC5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEC5: + tax ; CPU:$CEC5 PRG:0EC5 AA + lda Zp04 ; CPU:$CEC6 PRG:0EC6 A5 04 + beq Label_CEF1 ; CPU:$CEC8 PRG:0EC8 F0 27 + lda ZpC3,x ; CPU:$CECA PRG:0ECA B5 C3 + beq Label_CEF5 ; CPU:$CECC PRG:0ECC F0 27 +; ----------------------------------------------------------------------------- +; Routine: Label_CECE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CECE: + clc ; CPU:$CECE PRG:0ECE 18 + lda ZpC6,x ; CPU:$CECF PRG:0ECF B5 C6 + sta Zp03 ; CPU:$CED1 PRG:0ED1 85 03 + lda Zp07 ; CPU:$CED3 PRG:0ED3 A5 07 + jsr $CF4F ; CPU:$CED5 PRG:0ED5 20 4F CF + sta ZpC6,x ; CPU:$CED8 PRG:0ED8 95 C6 + lda ZpC5,x ; CPU:$CEDA PRG:0EDA B5 C5 + sta Zp03 ; CPU:$CEDC PRG:0EDC 85 03 + lda Zp06 ; CPU:$CEDE PRG:0EDE A5 06 + jsr $CF4F ; CPU:$CEE0 PRG:0EE0 20 4F CF + sta ZpC5,x ; CPU:$CEE3 PRG:0EE3 95 C5 + lda ZpC4,x ; CPU:$CEE5 PRG:0EE5 B5 C4 + sta Zp03 ; CPU:$CEE7 PRG:0EE7 85 03 + lda Zp05 ; CPU:$CEE9 PRG:0EE9 A5 05 + jsr $CF4F ; CPU:$CEEB PRG:0EEB 20 4F CF + sta ZpC4,x ; CPU:$CEEE PRG:0EEE 95 C4 + rts ; CPU:$CEF0 PRG:0EF0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CEF1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEF1: + lda ZpC3,x ; CPU:$CEF1 PRG:0EF1 B5 C3 + beq Label_CECE ; CPU:$CEF3 PRG:0EF3 F0 D9 +; ----------------------------------------------------------------------------- +; Routine: Label_CEF5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEF5: + sec ; CPU:$CEF5 PRG:0EF5 38 + lda ZpC6,x ; CPU:$CEF6 PRG:0EF6 B5 C6 + sta Zp03 ; CPU:$CEF8 PRG:0EF8 85 03 + lda Zp07 ; CPU:$CEFA PRG:0EFA A5 07 + jsr $CF70 ; CPU:$CEFC PRG:0EFC 20 70 CF + sta ZpC6,x ; CPU:$CEFF PRG:0EFF 95 C6 + lda ZpC5,x ; CPU:$CF01 PRG:0F01 B5 C5 + sta Zp03 ; CPU:$CF03 PRG:0F03 85 03 + lda Zp06 ; CPU:$CF05 PRG:0F05 A5 06 + jsr $CF70 ; CPU:$CF07 PRG:0F07 20 70 CF + sta ZpC5,x ; CPU:$CF0A PRG:0F0A 95 C5 + lda ZpC4,x ; CPU:$CF0C PRG:0F0C B5 C4 + sta Zp03 ; CPU:$CF0E PRG:0F0E 85 03 + lda Zp05 ; CPU:$CF10 PRG:0F10 A5 05 + jsr $CF70 ; CPU:$CF12 PRG:0F12 20 70 CF + sta ZpC4,x ; CPU:$CF15 PRG:0F15 95 C4 + lda ZpC4,x ; CPU:$CF17 PRG:0F17 B5 C4 + bne Label_CF23 ; CPU:$CF19 PRG:0F19 D0 08 + lda ZpC5,x ; CPU:$CF1B PRG:0F1B B5 C5 + bne Label_CF23 ; CPU:$CF1D PRG:0F1D D0 04 + lda ZpC6,x ; CPU:$CF1F PRG:0F1F B5 C6 + beq Label_CF25 ; CPU:$CF21 PRG:0F21 F0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_CF23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF23: + bcs Label_CF4E ; CPU:$CF23 PRG:0F23 B0 29 +; ----------------------------------------------------------------------------- +; Routine: Label_CF25 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF25: + lda #$00 ; CPU:$CF25 PRG:0F25 A9 00 + sta ZpC3,x ; CPU:$CF27 PRG:0F27 95 C3 + sta ZpC4,x ; CPU:$CF29 PRG:0F29 95 C4 + sta ZpC5,x ; CPU:$CF2B PRG:0F2B 95 C5 + sta ZpC6,x ; CPU:$CF2D PRG:0F2D 95 C6 + inc Zp3D ; CPU:$CF2F PRG:0F2F E6 3D + rts ; CPU:$CF31 PRG:0F31 60 +; ---- data $CF32-$CF4D (28 bytes) ---- + .byte $95, $C3, $38, $A9, $00, $85, $03, $B5, $C6, $20, $70, $CF, $95, $C6, $B5, $C5 ; CPU:$CF32 PRG:0F32 95 C3 38 A9 00 85 03 B5 C6 20 70 CF 95 C6 B5 C5 + .byte $20, $70, $CF, $95, $C5, $B5, $C4, $20, $70, $CF, $95, $C4 ; CPU:$CF42 PRG:0F42 20 70 CF 95 C5 B5 C4 20 70 CF 95 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_CF4E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF4E: + rts ; CPU:$CF4E PRG:0F4E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CF4F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF4F: + jsr $CF92 ; CPU:$CF4F PRG:0F4F 20 92 CF + adc Zp01 ; CPU:$CF52 PRG:0F52 65 01 + cmp #$0A ; CPU:$CF54 PRG:0F54 C9 0A + bcc Label_CF5A ; CPU:$CF56 PRG:0F56 90 02 + adc #$05 ; CPU:$CF58 PRG:0F58 69 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CF5A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF5A: + clc ; CPU:$CF5A PRG:0F5A 18 + adc Zp02 ; CPU:$CF5B PRG:0F5B 65 02 + sta Zp02 ; CPU:$CF5D PRG:0F5D 85 02 + lda Zp03 ; CPU:$CF5F PRG:0F5F A5 03 + and #$F0 ; CPU:$CF61 PRG:0F61 29 F0 + adc Zp02 ; CPU:$CF63 PRG:0F63 65 02 + bcc Label_CF6B ; CPU:$CF65 PRG:0F65 90 04 +; ----------------------------------------------------------------------------- +; Routine: Label_CF67 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF67: + adc #$5F ; CPU:$CF67 PRG:0F67 69 5F + sec ; CPU:$CF69 PRG:0F69 38 + rts ; CPU:$CF6A PRG:0F6A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CF6B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF6B: + cmp #$A0 ; CPU:$CF6B PRG:0F6B C9 A0 + bcs Label_CF67 ; CPU:$CF6D PRG:0F6D B0 F8 + rts ; CPU:$CF6F PRG:0F6F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CF70 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF70: + jsr $CF92 ; CPU:$CF70 PRG:0F70 20 92 CF + sbc Zp01 ; CPU:$CF73 PRG:0F73 E5 01 + sta Zp01 ; CPU:$CF75 PRG:0F75 85 01 + bcs Label_CF83 ; CPU:$CF77 PRG:0F77 B0 0A + adc #$0A ; CPU:$CF79 PRG:0F79 69 0A + sta Zp01 ; CPU:$CF7B PRG:0F7B 85 01 + lda Zp02 ; CPU:$CF7D PRG:0F7D A5 02 + adc #$0F ; CPU:$CF7F PRG:0F7F 69 0F + sta Zp02 ; CPU:$CF81 PRG:0F81 85 02 +; ----------------------------------------------------------------------------- +; Routine: Label_CF83 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF83: + lda Zp03 ; CPU:$CF83 PRG:0F83 A5 03 + and #$F0 ; CPU:$CF85 PRG:0F85 29 F0 + sec ; CPU:$CF87 PRG:0F87 38 + sbc Zp02 ; CPU:$CF88 PRG:0F88 E5 02 + bcs Label_CF8F ; CPU:$CF8A PRG:0F8A B0 03 + adc #$A0 ; CPU:$CF8C PRG:0F8C 69 A0 + clc ; CPU:$CF8E PRG:0F8E 18 +; ----------------------------------------------------------------------------- +; Routine: Label_CF8F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF8F: + ora Zp01 ; CPU:$CF8F PRG:0F8F 05 01 + rts ; CPU:$CF91 PRG:0F91 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CF92 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF92: + pha ; CPU:$CF92 PRG:0F92 48 + and #$0F ; CPU:$CF93 PRG:0F93 29 0F + sta Zp01 ; CPU:$CF95 PRG:0F95 85 01 + pla ; CPU:$CF97 PRG:0F97 68 + and #$F0 ; CPU:$CF98 PRG:0F98 29 F0 + sta Zp02 ; CPU:$CF9A PRG:0F9A 85 02 + lda Zp03 ; CPU:$CF9C PRG:0F9C A5 03 + and #$0F ; CPU:$CF9E PRG:0F9E 29 0F + rts ; CPU:$CFA0 PRG:0FA0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CFA1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CFA1: + lda $05EC ; CPU:$CFA1 PRG:0FA1 AD EC 05 + and #$02 ; CPU:$CFA4 PRG:0FA4 29 02 + sta Zp07 ; CPU:$CFA6 PRG:0FA6 85 07 + lda $05ED ; CPU:$CFA8 PRG:0FA8 AD ED 05 + and #$02 ; CPU:$CFAB PRG:0FAB 29 02 + eor Zp07 ; CPU:$CFAD PRG:0FAD 45 07 + clc ; CPU:$CFAF PRG:0FAF 18 + beq Label_CFB3 ; CPU:$CFB0 PRG:0FB0 F0 01 + sec ; CPU:$CFB2 PRG:0FB2 38 +; ----------------------------------------------------------------------------- +; Routine: Label_CFB3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CFB3: + ror $05EC ; CPU:$CFB3 PRG:0FB3 6E EC 05 + ror $05ED ; CPU:$CFB6 PRG:0FB6 6E ED 05 + ror $05EE ; CPU:$CFB9 PRG:0FB9 6E EE 05 + ror $05EF ; CPU:$CFBC PRG:0FBC 6E EF 05 + lda $05EC ; CPU:$CFBF PRG:0FBF AD EC 05 + rts ; CPU:$CFC2 PRG:0FC2 60 +; ---- data $CFC3-$D011 (79 bytes) ---- + .byte $20, $1A, $D0, $20, $6C, $CC, $20, $12, $D0, $A9, $02, $85, $01, $A9, $50, $85 ; CPU:$CFC3 PRG:0FC3 20 1A D0 20 6C CC 20 12 D0 A9 02 85 01 A9 50 85 + .byte $00, $20, $85, $CD, $20, $77, $CC, $20, $12, $D0, $A2, $AF, $A0, $F3, $20, $50 ; CPU:$CFD3 PRG:0FD3 00 20 85 CD 20 77 CC 20 12 D0 A2 AF A0 F3 20 50 + .byte $D0, $A9, $01, $85, $23, $A9, $01, $8D, $FD, $05, $E6, $26, $4C, $27, $D0, $A5 ; CPU:$CFE3 PRG:0FE3 D0 A9 01 85 23 A9 01 8D FD 05 E6 26 4C 27 D0 A5 + .byte $2D, $D0, $18, $A9, $01, $85, $C0, $A9, $00, $85, $1F, $85, $25, $20, $93, $E7 ; CPU:$CFF3 PRG:0FF3 2D D0 18 A9 01 85 C0 A9 00 85 1F 85 25 20 93 E7 + .byte $20, $1A, $D0, $A9, $02, $85, $2A, $85, $2D, $E6, $26, $60, $4C, $66, $CB ; CPU:$D003 PRG:1003 20 1A D0 A9 02 85 2A 85 2D E6 26 60 4C 66 CB +; ----------------------------------------------------------------------------- +; Routine: Label_D012 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D012: + jsr $D057 ; CPU:$D012 PRG:1012 20 57 D0 +; ----------------------------------------------------------------------------- +; Routine: Label_D015 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D015: + lda Zp20 ; CPU:$D015 PRG:1015 A5 20 + beq Label_D015 ; CPU:$D017 PRG:1017 F0 FC + rts ; CPU:$D019 PRG:1019 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D01A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D01A: + jsr $D012 ; CPU:$D01A PRG:101A 20 12 D0 + lda Zp09 ; CPU:$D01D PRG:101D A5 09 + and #$E7 ; CPU:$D01F PRG:101F 29 E7 + sta Zp09 ; CPU:$D021 PRG:1021 85 09 + sta $2001 ; CPU:$D023 PRG:1023 8D 01 20 + rts ; CPU:$D026 PRG:1026 60 +; ---- data $D027-$D02F (9 bytes) ---- + .byte $20, $12, $D0, $A5, $09, $09, $18, $D0, $F1 ; CPU:$D027 PRG:1027 20 12 D0 A5 09 09 18 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: Label_D030 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D030: + sty ZpA2 ; CPU:$D030 PRG:1030 84 A2 + ldx #$00 ; CPU:$D032 PRG:1032 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D034 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D034: + lda $0300,y ; CPU:$D034 PRG:1034 B9 00 03 + sta Zp30,x ; CPU:$D037 PRG:1037 95 30 + iny ; CPU:$D039 PRG:1039 C8 + inx ; CPU:$D03A PRG:103A E8 + cpx #$20 ; CPU:$D03B PRG:103B E0 20 + bne Label_D034 ; CPU:$D03D PRG:103D D0 F5 + rts ; CPU:$D03F PRG:103F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D040 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D040: + ldy ZpA2 ; CPU:$D040 PRG:1040 A4 A2 + ldx #$00 ; CPU:$D042 PRG:1042 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D044 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D044: + lda Zp30,x ; CPU:$D044 PRG:1044 B5 30 + sta $0300,y ; CPU:$D046 PRG:1046 99 00 03 + iny ; CPU:$D049 PRG:1049 C8 + inx ; CPU:$D04A PRG:104A E8 + cpx #$20 ; CPU:$D04B PRG:104B E0 20 + bne Label_D044 ; CPU:$D04D PRG:104D D0 F5 + rts ; CPU:$D04F PRG:104F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D050 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D050: + stx Zp00 ; CPU:$D050 PRG:1050 86 00 + sty Zp01 ; CPU:$D052 PRG:1052 84 01 + jmp $CE3A ; CPU:$D054 PRG:1054 4C 3A CE +; ----------------------------------------------------------------------------- +; Routine: Label_D057 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D057: + lda #$00 ; CPU:$D057 PRG:1057 A9 00 + sta Zp20 ; CPU:$D059 PRG:1059 85 20 + sta Zp22 ; CPU:$D05B PRG:105B 85 22 + rts ; CPU:$D05D PRG:105D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D05E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D05E: + lda Zp2D ; CPU:$D05E PRG:105E A5 2D + bne Label_D066 ; CPU:$D060 PRG:1060 D0 04 + lda Zp1E ; CPU:$D062 PRG:1062 A5 1E + sta Zp25 ; CPU:$D064 PRG:1064 85 25 +; ----------------------------------------------------------------------------- +; Routine: Label_D066 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D066: + rts ; CPU:$D066 PRG:1066 60 +; ---- data $D067-$D079 (19 bytes) ---- + .byte $86, $1E, $85, $2D, $A9, $12, $85, $25, $60, $A0, $00, $98, $99, $00, $03, $C8 ; CPU:$D067 PRG:1067 86 1E 85 2D A9 12 85 25 60 A0 00 98 99 00 03 C8 + .byte $D0, $FA, $60 ; CPU:$D077 PRG:1077 D0 FA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D07A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D07A: + lda #$00 ; CPU:$D07A PRG:107A A9 00 + ldx #$30 ; CPU:$D07C PRG:107C A2 30 +; ----------------------------------------------------------------------------- +; Routine: Label_D07E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D07E: + sta Zp00,x ; CPU:$D07E PRG:107E 95 00 + inx ; CPU:$D080 PRG:1080 E8 + bne Label_D07E ; CPU:$D081 PRG:1081 D0 FB + rts ; CPU:$D083 PRG:1083 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D084 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D084: + lda #$00 ; CPU:$D084 PRG:1084 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D086 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D086: + ldx #$8F ; CPU:$D086 PRG:1086 A2 8F +; ----------------------------------------------------------------------------- +; Routine: Label_D088 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D088: + sta Zp30,x ; CPU:$D088 PRG:1088 95 30 + dex ; CPU:$D08A PRG:108A CA + bpl Label_D088 ; CPU:$D08B PRG:108B 10 FB + rts ; CPU:$D08D PRG:108D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D08E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D08E: + stx Zp00 ; CPU:$D08E PRG:108E 86 00 + sty Zp01 ; CPU:$D090 PRG:1090 84 01 + ldx #$00 ; CPU:$D092 PRG:1092 A2 00 + ldy #$05 ; CPU:$D094 PRG:1094 A0 05 + stx Zp02 ; CPU:$D096 PRG:1096 86 02 + sty Zp03 ; CPU:$D098 PRG:1098 84 03 + jmp $CE55 ; CPU:$D09A PRG:109A 4C 55 CE +; ---- data $D09D-$D173 (215 bytes) ---- + .byte $20, $84, $D0, $20, $12, $D0, $20, $67, $CC, $20, $8A, $E7, $A2, $01, $A5, $C0 ; CPU:$D09D PRG:109D 20 84 D0 20 12 D0 20 67 CC 20 8A E7 A2 01 A5 C0 + .byte $D0, $05, $AD, $FE, $05, $85, $1F, $86, $25, $60, $20, $12, $D0, $A2, $C4, $A0 ; CPU:$D0AD PRG:10AD D0 05 AD FE 05 85 1F 86 25 60 20 12 D0 A2 C4 A0 + .byte $EB, $20, $50, $D0, $A2, $5C, $A0, $F1, $A5, $1F, $F0, $04, $A2, $5D, $A0, $F0 ; CPU:$D0BD PRG:10BD EB 20 50 D0 A2 5C A0 F1 A5 1F F0 04 A2 5D A0 F0 + .byte $20, $50, $D0, $A9, $02, $85, $23, $A9, $02, $85, $25, $20, $43, $CE, $20, $27 ; CPU:$D0CD PRG:10CD 20 50 D0 A9 02 85 23 A9 02 85 25 20 43 CE 20 27 + .byte $D0, $20, $8A, $E7, $20, $C0, $E4, $A0, $00, $84, $A1, $20, $30, $D0, $20, $AC ; CPU:$D0DD PRG:10DD D0 20 8A E7 20 C0 E4 A0 00 84 A1 20 30 D0 20 AC + .byte $E5, $A0, $20, $20, $30, $D0, $20, $AC, $E5, $A0, $40, $20, $30, $D0, $20, $AC ; CPU:$D0ED PRG:10ED E5 A0 20 20 30 D0 20 AC E5 A0 40 20 30 D0 20 AC + .byte $E5, $A9, $90, $8D, $00, $20, $85, $08, $20, $E3, $E7, $20, $E0, $E3, $20, $E3 ; CPU:$D0FD PRG:10FD E5 A9 90 8D 00 20 85 08 20 E3 E7 20 E0 E3 20 E3 + .byte $DC, $A9, $00, $85, $9D, $85, $94, $85, $0A, $85, $8F, $85, $71, $85, $72, $85 ; CPU:$D10D PRG:110D DC A9 00 85 9D 85 94 85 0A 85 8F 85 71 85 72 85 + .byte $74, $A9, $F4, $8D, $58, $02, $A5, $08, $29, $FE, $85, $08, $A9, $55, $85, $73 ; CPU:$D11D PRG:111D 74 A9 F4 8D 58 02 A5 08 29 FE 85 08 A9 55 85 73 + .byte $A9, $01, $85, $95, $A5, $1F, $D0, $08, $A9, $02, $85, $96, $A5, $C0, $F0, $00 ; CPU:$D12D PRG:112D A9 01 85 95 A5 1F D0 08 A9 02 85 96 A5 C0 F0 00 + .byte $A9, $03, $85, $85, $A6, $1F, $D0, $0A, $A6, $C0, $D0, $06, $A9, $40, $85, $2B ; CPU:$D13D PRG:113D A9 03 85 85 A6 1F D0 0A A6 C0 D0 06 A9 40 85 2B + .byte $A9, $0E, $85, $25, $60, $A5, $2B, $D0, $10, $A9, $01, $8D, $01, $03, $8D, $21 ; CPU:$D14D PRG:114D A9 0E 85 25 60 A5 2B D0 10 A9 01 8D 01 03 8D 21 + .byte $03, $8D, $41, $03, $A9, $03, $85, $25, $60, $A9, $00, $8D, $01, $03, $8D, $21 ; CPU:$D15D PRG:115D 03 8D 41 03 A9 03 85 25 60 A9 00 8D 01 03 8D 21 + .byte $03, $8D, $41, $03, $4C, $A4, $D1 ; CPU:$D16D PRG:116D 03 8D 41 03 4C A4 D1 +; ----------------------------------------------------------------------------- +; Routine: Label_D174 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D174: + lda Zp85 ; CPU:$D174 PRG:1174 A5 85 + asl a ; CPU:$D176 PRG:1176 0A + tax ; CPU:$D177 PRG:1177 AA + lda $F771,x ; CPU:$D178 PRG:1178 BD 71 F7 + ldy $F772,x ; CPU:$D17B PRG:117B BC 72 F7 + tax ; CPU:$D17E PRG:117E AA + jsr $D050 ; CPU:$D17F PRG:117F 20 50 D0 + lda #$00 ; CPU:$D182 PRG:1182 A9 00 + sta Zp86 ; CPU:$D184 PRG:1184 85 86 + rts ; CPU:$D186 PRG:1186 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D187 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D187: + lda ZpC0 ; CPU:$D187 PRG:1187 A5 C0 + beq Label_D1A4 ; CPU:$D189 PRG:1189 F0 19 + lda Zp80 ; CPU:$D18B PRG:118B A5 80 + cmp #$08 ; CPU:$D18D PRG:118D C9 08 + bne Label_D1A4 ; CPU:$D18F PRG:118F D0 13 + lda Zp81 ; CPU:$D191 PRG:1191 A5 81 + cmp #$05 ; CPU:$D193 PRG:1193 C9 05 + bne Label_D1A4 ; CPU:$D195 PRG:1195 D0 0D + lda #$00 ; CPU:$D197 PRG:1197 A9 00 + sta ZpC0 ; CPU:$D199 PRG:1199 85 C0 + sta ZpF0 ; CPU:$D19B PRG:119B 85 F0 + sta ZpF1 ; CPU:$D19D PRG:119D 85 F1 + sta ZpF2 ; CPU:$D19F PRG:119F 85 F2 + jmp $DA25 ; CPU:$D1A1 PRG:11A1 4C 25 DA +; ----------------------------------------------------------------------------- +; Routine: Label_D1A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1A4: + ldx #$00 ; CPU:$D1A4 PRG:11A4 A2 00 + lda Zp2A ; CPU:$D1A6 PRG:11A6 A5 2A + and #$01 ; CPU:$D1A8 PRG:11A8 29 01 + beq Label_D1AE ; CPU:$D1AA PRG:11AA F0 02 + ldx #$04 ; CPU:$D1AC PRG:11AC A2 04 +; ----------------------------------------------------------------------------- +; Routine: Label_D1AE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1AE: + jsr $E26C ; CPU:$D1AE PRG:11AE 20 6C E2 + jsr $E2D8 ; CPU:$D1B1 PRG:11B1 20 D8 E2 + lda Zp87 ; CPU:$D1B4 PRG:11B4 A5 87 + beq Label_D1C4 ; CPU:$D1B6 PRG:11B6 F0 0C + dec Zp87 ; CPU:$D1B8 PRG:11B8 C6 87 + bne Label_D1C4 ; CPU:$D1BA PRG:11BA D0 08 + lda #$F4 ; CPU:$D1BC PRG:11BC A9 F4 + sta $0258 ; CPU:$D1BE PRG:11BE 8D 58 02 + sta $025C ; CPU:$D1C1 PRG:11C1 8D 5C 02 +; ----------------------------------------------------------------------------- +; Routine: Label_D1C4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1C4: + ldy #$01 ; CPU:$D1C4 PRG:11C4 A0 01 + sty Zp89 ; CPU:$D1C6 PRG:11C6 84 89 + ldy #$20 ; CPU:$D1C8 PRG:11C8 A0 20 +; ----------------------------------------------------------------------------- +; Routine: Label_D1CA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1CA: + lda Zp8B ; CPU:$D1CA PRG:11CA A5 8B + beq Label_D1F9 ; CPU:$D1CC PRG:11CC F0 2B + lda $0303 ; CPU:$D1CE PRG:11CE AD 03 03 + sec ; CPU:$D1D1 PRG:11D1 38 + sbc $0323 ; CPU:$D1D2 PRG:11D2 ED 23 03 + ldx $0305 ; CPU:$D1D5 PRG:11D5 AE 05 03 + cpx #$11 ; CPU:$D1D8 PRG:11D8 E0 11 + beq Label_D1E8 ; CPU:$D1DA PRG:11DA F0 0C + ldx $0325 ; CPU:$D1DC PRG:11DC AE 25 03 + cpx #$11 ; CPU:$D1DF PRG:11DF E0 11 + beq Label_D1E8 ; CPU:$D1E1 PRG:11E1 F0 05 + cmp #$19 ; CPU:$D1E3 PRG:11E3 C9 19 + jmp $D1EA ; CPU:$D1E5 PRG:11E5 4C EA D1 +; ----------------------------------------------------------------------------- +; Routine: Label_D1E8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1E8: + cmp #$09 ; CPU:$D1E8 PRG:11E8 C9 09 +; ----------------------------------------------------------------------------- +; Routine: Label_D1EA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1EA: + bcs Label_D1F9 ; CPU:$D1EA PRG:11EA B0 0D + ldx #$01 ; CPU:$D1EC PRG:11EC A2 01 + stx Zp88 ; CPU:$D1EE PRG:11EE 86 88 + dex ; CPU:$D1F0 PRG:11F0 CA + stx Zp8B ; CPU:$D1F1 PRG:11F1 86 8B + stx $031F ; CPU:$D1F3 PRG:11F3 8E 1F 03 + stx $033F ; CPU:$D1F6 PRG:11F6 8E 3F 03 +; ----------------------------------------------------------------------------- +; Routine: Label_D1F9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1F9: + jsr $D030 ; CPU:$D1F9 PRG:11F9 20 30 D0 + jsr $DE03 ; CPU:$D1FC PRG:11FC 20 03 DE + jsr $E040 ; CPU:$D1FF PRG:11FF 20 40 E0 + ldy Zp46 ; CPU:$D202 PRG:1202 A4 46 + beq Label_D213 ; CPU:$D204 PRG:1204 F0 0D + lda Zp45 ; CPU:$D206 PRG:1206 A5 45 + beq Label_D243 ; CPU:$D208 PRG:1208 F0 39 + dec Zp45 ; CPU:$D20A PRG:120A C6 45 + cmp #$07 ; CPU:$D20C PRG:120C C9 07 + bcs Label_D213 ; CPU:$D20E PRG:120E B0 03 + jmp $D2B2 ; CPU:$D210 PRG:1210 4C B2 D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D213 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D213: + jsr $E7FE ; CPU:$D213 PRG:1213 20 FE E7 + lda Zp31 ; CPU:$D216 PRG:1216 A5 31 + jsr $CDE0 ; CPU:$D218 PRG:1218 20 E0 CD +; ---- data $D21B-$D242 (40 bytes) ---- + .byte $B2, $D2, $6E, $D2, $61, $D3, $FA, $D3, $98, $D3, $6C, $D4, $C4, $D4, $A2, $D5 ; CPU:$D21B PRG:121B B2 D2 6E D2 61 D3 FA D3 98 D3 6C D4 C4 D4 A2 D5 + .byte $C4, $D5, $56, $D6, $01, $D5, $AB, $D6, $61, $D2, $0C, $D8, $34, $D8, $75, $D8 ; CPU:$D22B PRG:122B C4 D5 56 D6 01 D5 AB D6 61 D2 0C D8 34 D8 75 D8 + .byte $B4, $D8, $EA, $D8, $16, $D9, $7D, $D9 ; CPU:$D23B PRG:123B B4 D8 EA D8 16 D9 7D D9 +; ----------------------------------------------------------------------------- +; Routine: Label_D243 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D243: + sty Zp43 ; CPU:$D243 PRG:1243 84 43 + jsr $E459 ; CPU:$D245 PRG:1245 20 59 E4 + lda Zp31 ; CPU:$D248 PRG:1248 A5 31 + cmp #$0D ; CPU:$D24A PRG:124A C9 0D + bne Label_D254 ; CPU:$D24C PRG:124C D0 06 + sta $031C,x ; CPU:$D24E PRG:124E 9D 1C 03 + jsr $E21E ; CPU:$D251 PRG:1251 20 1E E2 +; ----------------------------------------------------------------------------- +; Routine: Label_D254 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D254: + lda #$05 ; CPU:$D254 PRG:1254 A9 05 + sta Zp31 ; CPU:$D256 PRG:1256 85 31 + lda #$00 ; CPU:$D258 PRG:1258 A9 00 + sta Zp3E ; CPU:$D25A PRG:125A 85 3E + sta $0315,x ; CPU:$D25C PRG:125C 9D 15 03 + beq Label_D213 ; CPU:$D25F PRG:125F F0 B2 +; ----------------------------------------------------------------------------- +; Routine: Label_D261 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D261: + lda Zp88 ; CPU:$D261 PRG:1261 A5 88 + bne Label_D29E ; CPU:$D263 PRG:1263 D0 39 + ldy #$0B ; CPU:$D265 PRG:1265 A0 0B + sty Zp4F ; CPU:$D267 PRG:1267 84 4F + bne Label_D2A9 ; CPU:$D269 PRG:1269 D0 3E + jmp $D304 ; CPU:$D26B PRG:126B 4C 04 D3 +; ---- data $D26E-$D27A (13 bytes) ---- + .byte $20, $6E, $E4, $A2, $04, $A0, $0D, $A9, $01, $24, $00, $D0, $F0 ; CPU:$D26E PRG:126E 20 6E E4 A2 04 A0 0D A9 01 24 00 D0 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_D27B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D27B: + ldy #$01 ; CPU:$D27B PRG:127B A0 01 + lda #$40 ; CPU:$D27D PRG:127D A9 40 + bit Zp00 ; CPU:$D27F PRG:127F 24 00 + bne Label_D289 ; CPU:$D281 PRG:1281 D0 06 + iny ; CPU:$D283 PRG:1283 C8 + iny ; CPU:$D284 PRG:1284 C8 + lda #$80 ; CPU:$D285 PRG:1285 A9 80 + bit Zp00 ; CPU:$D287 PRG:1287 24 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D289 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D289: + bne Label_D2C7 ; CPU:$D289 PRG:1289 D0 3C + lda #$02 ; CPU:$D28B PRG:128B A9 02 + bit Zp00 ; CPU:$D28D PRG:128D 24 00 + bne Label_D261 ; CPU:$D28F PRG:128F D0 D0 + lda Zp88 ; CPU:$D291 PRG:1291 A5 88 + bne Label_D29E ; CPU:$D293 PRG:1293 D0 09 + lda Zp4F ; CPU:$D295 PRG:1295 A5 4F + beq Label_D29E ; CPU:$D297 PRG:1297 F0 05 + jsr $D7DB ; CPU:$D299 PRG:1299 20 DB D7 + bne Label_D2B2 ; CPU:$D29C PRG:129C D0 14 +; ----------------------------------------------------------------------------- +; Routine: Label_D29E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D29E: + ldy #$06 ; CPU:$D29E PRG:129E A0 06 + lda Zp44 ; CPU:$D2A0 PRG:12A0 A5 44 + bne Label_D2A5 ; CPU:$D2A2 PRG:12A2 D0 01 + dey ; CPU:$D2A4 PRG:12A4 88 +; ----------------------------------------------------------------------------- +; Routine: Label_D2A5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2A5: + ldx #$01 ; CPU:$D2A5 PRG:12A5 A2 01 +; ----------------------------------------------------------------------------- +; Routine: Label_D2A7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2A7: + stx Zp31 ; CPU:$D2A7 PRG:12A7 86 31 +; ----------------------------------------------------------------------------- +; Routine: Label_D2A9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2A9: + cpy Zp43 ; CPU:$D2A9 PRG:12A9 C4 43 + bne Label_D2C4 ; CPU:$D2AB PRG:12AB D0 17 +; ----------------------------------------------------------------------------- +; Routine: Label_D2AD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2AD: + sty Zp43 ; CPU:$D2AD PRG:12AD 84 43 +; ----------------------------------------------------------------------------- +; Routine: Label_D2AF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2AF: + jsr $E4E2 ; CPU:$D2AF PRG:12AF 20 E2 E4 +; ----------------------------------------------------------------------------- +; Routine: Label_D2B2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2B2: + jsr $E5AC ; CPU:$D2B2 PRG:12B2 20 AC E5 + jsr $D040 ; CPU:$D2B5 PRG:12B5 20 40 D0 + ldx Zp89 ; CPU:$D2B8 PRG:12B8 A6 89 + beq Label_D2CA ; CPU:$D2BA PRG:12BA F0 0E + dex ; CPU:$D2BC PRG:12BC CA + stx Zp89 ; CPU:$D2BD PRG:12BD 86 89 + ldy #$00 ; CPU:$D2BF PRG:12BF A0 00 + jmp $D1CA ; CPU:$D2C1 PRG:12C1 4C CA D1 +; ----------------------------------------------------------------------------- +; Routine: Label_D2C4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2C4: + jmp $D34B ; CPU:$D2C4 PRG:12C4 4C 4B D3 +; ----------------------------------------------------------------------------- +; Routine: Label_D2C7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2C7: + jmp $D313 ; CPU:$D2C7 PRG:12C7 4C 13 D3 +; ----------------------------------------------------------------------------- +; Routine: Label_D2CA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2CA: + inx ; CPU:$D2CA PRG:12CA E8 + inx ; CPU:$D2CB PRG:12CB E8 + stx Zp89 ; CPU:$D2CC PRG:12CC 86 89 + ldy #$40 ; CPU:$D2CE PRG:12CE A0 40 + jsr $D030 ; CPU:$D2D0 PRG:12D0 20 30 D0 + jsr $E076 ; CPU:$D2D3 PRG:12D3 20 76 E0 + jsr $E5AC ; CPU:$D2D6 PRG:12D6 20 AC E5 + jsr $E207 ; CPU:$D2D9 PRG:12D9 20 07 E2 + jsr $D040 ; CPU:$D2DC PRG:12DC 20 40 D0 + jsr $DBBF ; CPU:$D2DF PRG:12DF 20 BF DB + lda Zp93 ; CPU:$D2E2 PRG:12E2 A5 93 + bne Label_D300 ; CPU:$D2E4 PRG:12E4 D0 1A + ldx ZpCC ; CPU:$D2E6 PRG:12E6 A6 CC + txa ; CPU:$D2E8 PRG:12E8 8A + eor #$20 ; CPU:$D2E9 PRG:12E9 49 20 + tay ; CPU:$D2EB PRG:12EB A8 + lda #$60 ; CPU:$D2EC PRG:12EC A9 60 + sta $0306,x ; CPU:$D2EE PRG:12EE 9D 06 03 + lda #$A0 ; CPU:$D2F1 PRG:12F1 A9 A0 + sta $0307,x ; CPU:$D2F3 PRG:12F3 9D 07 03 + lda #$A0 ; CPU:$D2F6 PRG:12F6 A9 A0 + sta $0306,y ; CPU:$D2F8 PRG:12F8 99 06 03 + lda #$E0 ; CPU:$D2FB PRG:12FB A9 E0 + sta $0307,y ; CPU:$D2FD PRG:12FD 99 07 03 +; ----------------------------------------------------------------------------- +; Routine: Label_D300 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D300: + rts ; CPU:$D300 PRG:1300 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D301 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D301: + jmp $D392 ; CPU:$D301 PRG:1301 4C 92 D3 +; ----------------------------------------------------------------------------- +; Routine: Label_D304 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D304: + lda Zp88 ; CPU:$D304 PRG:1304 A5 88 + beq Label_D301 ; CPU:$D306 PRG:1306 F0 F9 + lda #$7D ; CPU:$D308 PRG:1308 A9 7D + sta Zp32 ; CPU:$D30A PRG:130A 85 32 + lda #$00 ; CPU:$D30C PRG:130C A9 00 + sta Zp46 ; CPU:$D30E PRG:130E 85 46 + jmp $D2A7 ; CPU:$D310 PRG:1310 4C A7 D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D313 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D313: + ldx Zp1F ; CPU:$D313 PRG:1313 A6 1F + bne Label_D31F ; CPU:$D315 PRG:1315 D0 08 + ldx Zp89 ; CPU:$D317 PRG:1317 A6 89 + bne Label_D31F ; CPU:$D319 PRG:1319 D0 04 + ldy #$03 ; CPU:$D31B PRG:131B A0 03 + bne Label_D332 ; CPU:$D31D PRG:131D D0 13 +; ----------------------------------------------------------------------------- +; Routine: Label_D31F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D31F: + ldx Zp3D ; CPU:$D31F PRG:131F A6 3D + beq Label_D327 ; CPU:$D321 PRG:1321 F0 04 + ldy #$01 ; CPU:$D323 PRG:1323 A0 01 + lda #$80 ; CPU:$D325 PRG:1325 A9 80 +; ----------------------------------------------------------------------------- +; Routine: Label_D327 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D327: + pha ; CPU:$D327 PRG:1327 48 + tya ; CPU:$D328 PRG:1328 98 + pha ; CPU:$D329 PRG:1329 48 + ldx #$01 ; CPU:$D32A PRG:132A A2 01 + jsr $E2B9 ; CPU:$D32C PRG:132C 20 B9 E2 + pla ; CPU:$D32F PRG:132F 68 + tay ; CPU:$D330 PRG:1330 A8 + pla ; CPU:$D331 PRG:1331 68 +; ----------------------------------------------------------------------------- +; Routine: Label_D332 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D332: + asl a ; CPU:$D332 PRG:1332 0A + sta Zp4C ; CPU:$D333 PRG:1333 85 4C + jsr $E459 ; CPU:$D335 PRG:1335 20 59 E4 + stx ZpCC ; CPU:$D338 PRG:1338 86 CC + ldx #$03 ; CPU:$D33A PRG:133A A2 03 + lda Zp44 ; CPU:$D33C PRG:133C A5 44 + beq Label_D341 ; CPU:$D33E PRG:133E F0 01 + iny ; CPU:$D340 PRG:1340 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_D341 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D341: + jmp $D2A7 ; CPU:$D341 PRG:1341 4C A7 D2 +; ---- data $D344-$D34A (7 bytes) ---- + .byte $A5, $88, $F0, $C8, $4C, $9E, $D2 ; CPU:$D344 PRG:1344 A5 88 F0 C8 4C 9E D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D34B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D34B: + jsr $E462 ; CPU:$D34B PRG:134B 20 62 E4 + cpy #$0D ; CPU:$D34E PRG:134E C0 0D + beq Label_D35E ; CPU:$D350 PRG:1350 F0 0C + cpy #$07 ; CPU:$D352 PRG:1352 C0 07 + beq Label_D35E ; CPU:$D354 PRG:1354 F0 08 + cpy #$08 ; CPU:$D356 PRG:1356 C0 08 + beq Label_D35E ; CPU:$D358 PRG:1358 F0 04 + lda #$7B ; CPU:$D35A PRG:135A A9 7B + sta Zp32 ; CPU:$D35C PRG:135C 85 32 +; ----------------------------------------------------------------------------- +; Routine: Label_D35E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D35E: + jmp $D2AD ; CPU:$D35E PRG:135E 4C AD D2 +; ---- data $D361-$D366 (6 bytes) ---- + .byte $A5, $3E, $F0, $05, $C6, $3E ; CPU:$D361 PRG:1361 A5 3E F0 05 C6 3E +; ----------------------------------------------------------------------------- +; Routine: Label_D367 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D367: + jmp $D2B2 ; CPU:$D367 PRG:1367 4C B2 D2 +; ---- data $D36A-$D391 (40 bytes) ---- + .byte $20, $6E, $E4, $A0, $0B, $A2, $02, $A5, $33, $C9, $2E, $90, $12, $C9, $D2, $B0 ; CPU:$D36A PRG:136A 20 6E E4 A0 0B A2 02 A5 33 C9 2E 90 12 C9 D2 B0 + .byte $0E, $A9, $01, $24, $00, $D0, $C0, $A9, $01, $85, $4F, $A0, $00, $F0, $45, $20 ; CPU:$D37A PRG:137A 0E A9 01 24 00 D0 C0 A9 01 85 4F A0 00 F0 45 20 + .byte $DB, $D7, $A9, $01, $85, $3A, $D0, $F1 ; CPU:$D38A PRG:138A DB D7 A9 01 85 3A D0 F1 +; ----------------------------------------------------------------------------- +; Routine: Label_D392 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D392: + ldx #$02 ; CPU:$D392 PRG:1392 A2 02 + stx Zp31 ; CPU:$D394 PRG:1394 86 31 + bne Label_D367 ; CPU:$D396 PRG:1396 D0 CF + jsr $E46E ; CPU:$D398 PRG:1398 20 6E E4 + lda Zp00 ; CPU:$D39B PRG:139B A5 00 + and #$C0 ; CPU:$D39D PRG:139D 29 C0 + beq Label_D3A4 ; CPU:$D39F PRG:139F F0 03 + jmp $D27B ; CPU:$D3A1 PRG:13A1 4C 7B D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D3A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3A4: + lda #$02 ; CPU:$D3A4 PRG:13A4 A9 02 + bit Zp00 ; CPU:$D3A6 PRG:13A6 24 00 + bne Label_D3C3 ; CPU:$D3A8 PRG:13A8 D0 19 + lda Zp43 ; CPU:$D3AA PRG:13AA A5 43 + bne Label_D40E ; CPU:$D3AC PRG:13AC D0 60 + lda Zp47 ; CPU:$D3AE PRG:13AE A5 47 + beq Label_D3BD ; CPU:$D3B0 PRG:13B0 F0 0B + lda #$00 ; CPU:$D3B2 PRG:13B2 A9 00 + sta Zp47 ; CPU:$D3B4 PRG:13B4 85 47 + ldx #$04 ; CPU:$D3B6 PRG:13B6 A2 04 + ldy #$0D ; CPU:$D3B8 PRG:13B8 A0 0D + jmp $D304 ; CPU:$D3BA PRG:13BA 4C 04 D3 +; ----------------------------------------------------------------------------- +; Routine: Label_D3BD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3BD: + lda #$01 ; CPU:$D3BD PRG:13BD A9 01 + bit Zp00 ; CPU:$D3BF PRG:13BF 24 00 + bne Label_D3D1 ; CPU:$D3C1 PRG:13C1 D0 0E +; ----------------------------------------------------------------------------- +; Routine: Label_D3C3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3C3: + lda #$50 ; CPU:$D3C3 PRG:13C3 A9 50 + sta Zp3E ; CPU:$D3C5 PRG:13C5 85 3E + ldy #$05 ; CPU:$D3C7 PRG:13C7 A0 05 + lda Zp44 ; CPU:$D3C9 PRG:13C9 A5 44 + beq Label_D3CE ; CPU:$D3CB PRG:13CB F0 01 + iny ; CPU:$D3CD PRG:13CD C8 +; ----------------------------------------------------------------------------- +; Routine: Label_D3CE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3CE: + jmp $D2A5 ; CPU:$D3CE PRG:13CE 4C A5 D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D3D1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3D1: + lda Zp88 ; CPU:$D3D1 PRG:13D1 A5 88 + beq Label_D392 ; CPU:$D3D3 PRG:13D3 F0 BD + lda Zp3A ; CPU:$D3D5 PRG:13D5 A5 3A + bne Label_D3C3 ; CPU:$D3D7 PRG:13D7 D0 EA + lda #$7B ; CPU:$D3D9 PRG:13D9 A9 7B + sta Zp32 ; CPU:$D3DB PRG:13DB 85 32 + lda #$00 ; CPU:$D3DD PRG:13DD A9 00 + sta Zp46 ; CPU:$D3DF PRG:13DF 85 46 + sta Zp88 ; CPU:$D3E1 PRG:13E1 85 88 + lda #$03 ; CPU:$D3E3 PRG:13E3 A9 03 + sta Zp35 ; CPU:$D3E5 PRG:13E5 85 35 + lda #$10 ; CPU:$D3E7 PRG:13E7 A9 10 + sta Zp3E ; CPU:$D3E9 PRG:13E9 85 3E + lda #$10 ; CPU:$D3EB PRG:13EB A9 10 + ldx Zp89 ; CPU:$D3ED PRG:13ED A6 89 + beq Label_D3F3 ; CPU:$D3EF PRG:13EF F0 02 + lda #$F0 ; CPU:$D3F1 PRG:13F1 A9 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_D3F3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3F3: + clc ; CPU:$D3F3 PRG:13F3 18 + adc Zp33 ; CPU:$D3F4 PRG:13F4 65 33 + sta Zp33 ; CPU:$D3F6 PRG:13F6 85 33 + bne Label_D392 ; CPU:$D3F8 PRG:13F8 D0 98 + lda Zp41 ; CPU:$D3FA PRG:13FA A5 41 + cmp #$01 ; CPU:$D3FC PRG:13FC C9 01 + bne Label_D408 ; CPU:$D3FE PRG:13FE D0 08 + lda Zp42 ; CPU:$D400 PRG:1400 A5 42 + ldy Zp43 ; CPU:$D402 PRG:1402 A4 43 + cmp #$02 ; CPU:$D404 PRG:1404 C9 02 + beq Label_D411 ; CPU:$D406 PRG:1406 F0 09 +; ----------------------------------------------------------------------------- +; Routine: Label_D408 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D408: + lda Zp43 ; CPU:$D408 PRG:1408 A5 43 + bne Label_D40E ; CPU:$D40A PRG:140A D0 02 + beq Label_D3C3 ; CPU:$D40C PRG:140C F0 B5 +; ----------------------------------------------------------------------------- +; Routine: Label_D40E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D40E: + jmp $D2AF ; CPU:$D40E PRG:140E 4C AF D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D411 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D411: + sty Zp01 ; CPU:$D411 PRG:1411 84 01 + lda Zp88 ; CPU:$D413 PRG:1413 A5 88 + beq Label_D45B ; CPU:$D415 PRG:1415 F0 44 + jsr $E459 ; CPU:$D417 PRG:1417 20 59 E4 + lda $0301,x ; CPU:$D41A PRG:141A BD 01 03 + cmp #$0D ; CPU:$D41D PRG:141D C9 0D + beq Label_D463 ; CPU:$D41F PRG:141F F0 42 + cmp #$03 ; CPU:$D421 PRG:1421 C9 03 + beq Label_D436 ; CPU:$D423 PRG:1423 F0 11 + cmp #$01 ; CPU:$D425 PRG:1425 C9 01 + bne Label_D45B ; CPU:$D427 PRG:1427 D0 32 + lda Zp31 ; CPU:$D429 PRG:1429 A5 31 + cmp #$08 ; CPU:$D42B PRG:142B C9 08 + beq Label_D436 ; CPU:$D42D PRG:142D F0 07 + lda Zp44 ; CPU:$D42F PRG:142F A5 44 + cmp $0314,x ; CPU:$D431 PRG:1431 DD 14 03 + beq Label_D444 ; CPU:$D434 PRG:1434 F0 0E +; ----------------------------------------------------------------------------- +; Routine: Label_D436 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D436: + tya ; CPU:$D436 PRG:1436 98 + clc ; CPU:$D437 PRG:1437 18 + adc #$06 ; CPU:$D438 PRG:1438 69 06 + sta $0316,x ; CPU:$D43A PRG:143A 9D 16 03 + lda #$0D ; CPU:$D43D PRG:143D A9 0D + sta $0315,x ; CPU:$D43F PRG:143F 9D 15 03 + bne Label_D447 ; CPU:$D442 PRG:1442 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_D444 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D444: + jsr $E7A7 ; CPU:$D444 PRG:1444 20 A7 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_D447 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D447: + lda #$50 ; CPU:$D447 PRG:1447 A9 50 + sta $030E,x ; CPU:$D449 PRG:1449 9D 0E 03 + lda #$7B ; CPU:$D44C PRG:144C A9 7B + sta $0302,x ; CPU:$D44E PRG:144E 9D 02 03 + tya ; CPU:$D451 PRG:1451 98 + pha ; CPU:$D452 PRG:1452 48 + ldx #$01 ; CPU:$D453 PRG:1453 A2 01 + ldy Zp4C ; CPU:$D455 PRG:1455 A4 4C + ldx #$10 ; CPU:$D457 PRG:1457 A2 10 + pla ; CPU:$D459 PRG:1459 68 + tay ; CPU:$D45A PRG:145A A8 +; ----------------------------------------------------------------------------- +; Routine: Label_D45B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D45B: + ldx #$03 ; CPU:$D45B PRG:145B A2 03 + jsr $E7AF ; CPU:$D45D PRG:145D 20 AF E7 + jmp $D2A7 ; CPU:$D460 PRG:1460 4C A7 D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D463 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D463: + jsr $E21E ; CPU:$D463 PRG:1463 20 1E E2 + jmp $D436 ; CPU:$D466 PRG:1466 4C 36 D4 +; ---- data $D469-$D7DA (882 bytes) ---- +; referenced by `ora $D5D0,y` at $DBCB (operand $D5D0 falls inside this region) + .byte $4C, $B2, $D2, $A5, $89, $0A, $0A, $0A, $85, $34, $20, $59, $E4, $A9, $10, $A4 ; CPU:$D469 PRG:1469 4C B2 D2 A5 89 0A 0A 0A 85 34 20 59 E4 A9 10 A4 + .byte $3D, $D0, $3A, $BC, $1C, $03, $D0, $35, $A2, $04, $20, $B9, $E2, $A5, $33, $C9 ; CPU:$D479 PRG:1479 3D D0 3A BC 1C 03 D0 35 A2 04 20 B9 E2 A5 33 C9 + .byte $36, $90, $2E, $C9, $C8, $B0, $2A, $A4, $43, $C0, $09, $F0, $07, $20, $9F, $E7 ; CPU:$D489 PRG:1489 36 90 2E C9 C8 B0 2A A4 43 C0 09 F0 07 20 9F E7 + .byte $A2, $17, $D0, $05, $20, $A3, $E7, $A2, $16, $A9, $00, $85, $46, $85, $43, $85 ; CPU:$D499 PRG:1499 A2 17 D0 05 20 A3 E7 A2 16 A9 00 85 46 85 43 85 + .byte $49, $A9, $46, $85, $4A, $86, $35, $A2, $06, $86, $31, $D0, $B3, $AA, $20, $B9 ; CPU:$D4A9 PRG:14A9 49 A9 46 85 4A 86 35 A2 06 86 31 D0 B3 AA 20 B9 + .byte $E2, $A2, $07, $86, $31, $A9, $00, $85, $46, $F0, $A5, $20, $6E, $E4, $20, $0E ; CPU:$D4B9 PRG:14B9 E2 A2 07 86 31 A9 00 85 46 F0 A5 20 6E E4 20 0E + .byte $E4, $C9, $FF, $F0, $21, $A5, $49, $C9, $0E, $D0, $18, $20, $59, $E4, $BD, $01 ; CPU:$D4C9 PRG:14C9 E4 C9 FF F0 21 A5 49 C9 0E D0 18 20 59 E4 BD 01 + .byte $03, $C9, $05, $B0, $14, $A9, $0C, $9D, $01, $03, $E6, $8B, $A9, $00, $9D, $0E ; CPU:$D4D9 PRG:14D9 03 C9 05 B0 14 A9 0C 9D 01 03 E6 8B A9 00 9D 0E + .byte $03, $85, $88, $4C, $B2, $D2, $4C, $C3, $D3, $A9, $0A, $A4, $89, $D0, $02, $A9 ; CPU:$D4E9 PRG:14E9 03 85 88 4C B2 D2 4C C3 D3 A9 0A A4 89 D0 02 A9 + .byte $F6, $18, $65, $33, $85, $33, $D0, $EB, $C6, $45, $D0, $E7, $A4, $39, $D0, $24 ; CPU:$D4F9 PRG:14F9 F6 18 65 33 85 33 D0 EB C6 45 D0 E7 A4 39 D0 24 + .byte $20, $59, $E4, $A9, $11, $9D, $01, $03, $85, $93, $A9, $00, $85, $91, $85, $92 ; CPU:$D509 PRG:1509 20 59 E4 A9 11 9D 01 03 85 93 A9 00 85 91 85 92 + .byte $85, $30, $85, $31, $8D, $40, $03, $9D, $06, $03, $A9, $40, $9D, $07, $03, $20 ; CPU:$D519 PRG:1519 85 30 85 31 8D 40 03 9D 06 03 A9 40 9D 07 03 20 + .byte $F7, $DD, $D0, $BF, $A9, $0B, $A4, $89, $D0, $02, $A9, $00, $85, $31, $A9, $00 ; CPU:$D529 PRG:1529 F7 DD D0 BF A9 0B A4 89 D0 02 A9 00 85 31 A9 00 + .byte $8D, $01, $03, $8D, $41, $03, $85, $0A, $A9, $3D, $8D, $42, $03, $A9, $F4, $8D ; CPU:$D539 PRG:1539 8D 01 03 8D 41 03 85 0A A9 3D 8D 42 03 A9 F4 8D + .byte $58, $02, $8D, $5C, $02, $8D, $54, $02, $8D, $50, $02, $A9, $13, $8D, $45, $03 ; CPU:$D549 PRG:1549 58 02 8D 5C 02 8D 54 02 8D 50 02 A9 13 8D 45 03 + .byte $20, $E3, $DC, $A5, $89, $85, $8A, $F0, $18, $E6, $85, $A5, $85, $C9, $06, $D0 ; CPU:$D559 PRG:1559 20 E3 DC A5 89 85 8A F0 18 E6 85 A5 85 C9 06 D0 + .byte $04, $A9, $02, $85, $85, $A5, $08, $49, $01, $85, $08, $A9, $FF, $85, $0A, $D0 ; CPU:$D569 PRG:1569 04 A9 02 85 85 A5 08 49 01 85 08 A9 FF 85 0A D0 + .byte $08, $C6, $85, $D0, $04, $A9, $04, $85, $85, $20, $12, $D0, $A2, $01, $20, $3B ; CPU:$D579 PRG:1579 08 C6 85 D0 04 A9 04 85 85 20 12 D0 A2 01 20 3B + .byte $DA, $A2, $00, $20, $3B, $DA, $A9, $9F, $8D, $00, $02, $A9, $0B, $8D, $21, $03 ; CPU:$D589 PRG:1589 DA A2 00 20 3B DA A9 9F 8D 00 02 A9 0B 8D 21 03 + .byte $20, $E7, $E7, $A9, $01, $85, $86, $D0, $4F, $A9, $00, $85, $46, $85, $49, $85 ; CPU:$D599 PRG:1599 20 E7 E7 A9 01 85 86 D0 4F A9 00 85 46 85 49 85 + .byte $4A, $A0, $0B, $A5, $44, $D0, $06, $20, $9B, $E7, $C8, $D0, $03, $20, $97, $E7 ; CPU:$D5A9 PRG:15A9 4A A0 0B A5 44 D0 06 20 9B E7 C8 D0 03 20 97 E7 + .byte $84, $35, $20, $B6, $E7, $A2, $08, $86, $31, $D0, $2D, $20, $0E, $E4, $C9, $FF ; CPU:$D5B9 PRG:15B9 84 35 20 B6 E7 A2 08 86 31 D0 2D 20 0E E4 C9 FF + .byte $F0, $29, $A4, $35, $C0, $0E, $D0, $11, $C9, $2E, $90, $49, $C9, $D2, $B0, $45 ; CPU:$D5C9 PRG:15C9 F0 29 A4 35 C0 0E D0 11 C9 2E 90 49 C9 D2 B0 45 + .byte $A5, $49, $C9, $14, $D0, $03, $20, $C2, $E7, $C0, $11, $D0, $0B, $E6, $4F, $20 ; CPU:$D5D9 PRG:15D9 A5 49 C9 14 D0 03 20 C2 E7 C0 11 D0 0B E6 4F 20 + .byte $59, $E4, $E6, $8B, $A9, $00, $85, $88, $4C, $B2, $D2, $A9, $7B, $85, $32, $A0 ; CPU:$D5E9 PRG:15E9 59 E4 E6 8B A9 00 85 88 4C B2 D2 A9 7B 85 32 A0 + .byte $04, $A5, $44, $F0, $01, $C8, $20, $62, $E4, $A9, $0A, $85, $48, $8D, $18, $03 ; CPU:$D5F9 PRG:15F9 04 A5 44 F0 01 C8 20 62 E4 A9 0A 85 48 8D 18 03 + .byte $8D, $38, $03, $4C, $A5, $D2, $20, $C2, $E7, $A9, $00, $85, $84, $8D, $41, $03 ; CPU:$D609 PRG:1609 8D 38 03 4C A5 D2 20 C2 E7 A9 00 85 84 8D 41 03 + .byte $A9, $4A, $4C, $37, $D6, $A9, $00, $85, $49, $85, $88, $20, $05, $DB, $A5, $39 ; CPU:$D619 PRG:1619 A9 4A 4C 37 D6 A9 00 85 49 85 88 20 05 DB A5 39 + .byte $D0, $E4, $A9, $00, $85, $84, $20, $BA, $E7, $20, $B7, $DA, $A9, $42, $85, $4A ; CPU:$D629 PRG:1629 D0 E4 A9 00 85 84 20 BA E7 20 B7 DA A9 42 85 4A + .byte $20, $59, $E4, $A9, $00, $9D, $01, $03, $9D, $11, $03, $9D, $12, $03, $9D, $0E ; CPU:$D639 PRG:1639 20 59 E4 A9 00 9D 01 03 9D 11 03 9D 12 03 9D 0E + .byte $03, $FE, $1F, $03, $E6, $4F, $A9, $09, $85, $31, $4C, $B2, $D2, $20, $0E, $E4 ; CPU:$D649 PRG:1649 03 FE 1F 03 E6 4F A9 09 85 31 4C B2 D2 20 0E E4 + .byte $C9, $FF, $D0, $1F, $A9, $20, $85, $45, $A9, $0A, $85, $31, $A5, $32, $C9, $98 ; CPU:$D659 PRG:1659 C9 FF D0 1F A9 20 85 45 A9 0A 85 31 A5 32 C9 98 + .byte $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9, $F0, $90, $04, $A9, $FC, $85, $32 ; CPU:$D669 PRG:1669 B0 0A A5 33 C9 12 90 04 C9 F0 90 04 A9 FC 85 32 + .byte $4C, $B2, $D2, $A5, $32, $C9, $98, $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9 ; CPU:$D679 PRG:1679 4C B2 D2 A5 32 C9 98 B0 0A A5 33 C9 12 90 04 C9 + .byte $F4, $90, $ED, $A9, $FC, $85, $32, $D0, $CB, $D0, $E5, $A5, $0A, $C9, $D3, $D0 ; CPU:$D689 PRG:1689 F4 90 ED A9 FC 85 32 D0 CB D0 E5 A5 0A C9 D3 D0 + .byte $4C, $A9, $7B, $85, $32, $A9, $F8, $85, $33, $A9, $15, $85, $35, $D0, $3E, $4C ; CPU:$D699 PRG:1699 4C A9 7B 85 32 A9 F8 85 33 A9 15 85 35 D0 3E 4C + .byte $6F, $D7, $A9, $0B, $8D, $01, $03, $A9, $06, $8D, $41, $03, $A5, $8A, $D0, $EF ; CPU:$D6A9 PRG:16A9 6F D7 A9 0B 8D 01 03 A9 06 8D 41 03 A5 8A D0 EF + .byte $A6, $89, $E0, $02, $F0, $27, $E0, $00, $F0, $D1, $A5, $83, $D0, $1F, $A5, $0A ; CPU:$D6B9 PRG:16B9 A6 89 E0 02 F0 27 E0 00 F0 D1 A5 83 D0 1F A5 0A + .byte $C9, $86, $D0, $08, $85, $83, $A9, $15, $85, $35, $D0, $11, $A0, $0B, $84, $43 ; CPU:$D6C9 PRG:16C9 C9 86 D0 08 85 83 A9 15 85 35 D0 11 A0 0B 84 43 + .byte $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2, $E4, $D0, $02, $C6, $33, $A5 ; CPU:$D6D9 PRG:16D9 A9 00 85 3E A9 7B 85 32 20 E2 E4 D0 02 C6 33 A5 + .byte $89, $C9, $00, $F0, $06, $C9, $02, $F0, $6A, $D0, $9E, $A2, $00, $DE, $5B, $02 ; CPU:$D6E9 PRG:16E9 89 C9 00 F0 06 C9 02 F0 6A D0 9E A2 00 DE 5B 02 + .byte $DE, $5F, $02, $20, $D0, $D7, $A5, $0A, $C9, $80, $D0, $23, $A5, $A0, $F0, $1F ; CPU:$D6F9 PRG:16F9 DE 5F 02 20 D0 D7 A5 0A C9 80 D0 23 A5 A0 F0 1F + .byte $E6, $73, $E6, $74, $A5, $74, $C9, $06, $D0, $12, $A5, $72, $C9, $12, $F0, $0C ; CPU:$D709 PRG:1709 E6 73 E6 74 A5 74 C9 06 D0 12 A5 72 C9 12 F0 0C + .byte $E6, $72, $E6, $72, $A9, $01, $85, $74, $A9, $56, $85, $73, $20, $50, $E3, $E6 ; CPU:$D719 PRG:1719 E6 72 E6 72 A9 01 85 74 A9 56 85 73 20 50 E3 E6 + .byte $0A, $D0, $2D, $A5, $08, $49, $01, $85, $08, $A0, $01, $84, $31, $8C, $21, $03 ; CPU:$D729 PRG:1729 0A D0 2D A5 08 49 01 85 08 A0 01 84 31 8C 21 03 + .byte $8C, $41, $03, $20, $EB, $E7, $20, $E0, $E3, $A5, $1F, $D0, $08, $A5, $8A, $D0 ; CPU:$D739 PRG:1739 8C 41 03 20 EB E7 20 E0 E3 A5 1F D0 08 A5 8A D0 + .byte $04, $A9, $20, $85, $96, $A5, $A0, $F0, $07, $20, $D9, $DA, $A9, $00, $85, $A0 ; CPU:$D749 PRG:1749 04 A9 20 85 96 A5 A0 F0 07 20 D9 DA A9 00 85 A0 + .byte $4C, $B2, $D2, $AD, $02, $20, $29, $40, $F0, $F9, $A6, $0A, $A9, $00, $85, $0A ; CPU:$D759 PRG:1759 4C B2 D2 AD 02 20 29 40 F0 F9 A6 0A A9 00 85 0A + .byte $20, $43, $CE, $86, $0A, $60, $A6, $89, $E0, $02, $F0, $27, $E0, $00, $D0, $43 ; CPU:$D769 PRG:1769 20 43 CE 86 0A 60 A6 89 E0 02 F0 27 E0 00 D0 43 + .byte $A5, $83, $D0, $1F, $A5, $0A, $C9, $80, $D0, $08, $85, $83, $A9, $15, $85, $35 ; CPU:$D779 PRG:1779 A5 83 D0 1F A5 0A C9 80 D0 08 85 83 A9 15 85 35 + .byte $D0, $11, $A0, $0B, $84, $43, $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2 ; CPU:$D789 PRG:1789 D0 11 A0 0B 84 43 A9 00 85 3E A9 7B 85 32 20 E2 + .byte $E4, $D0, $02, $E6, $33, $A5, $89, $C9, $00, $F0, $06, $C9, $02, $F0, $B4, $D0 ; CPU:$D799 PRG:1799 E4 D0 02 E6 33 A5 89 C9 00 F0 06 C9 02 F0 B4 D0 + .byte $80, $A2, $00, $FE, $5B, $02, $FE, $5F, $02, $20, $D0, $D7, $C6, $0A, $D0, $EF ; CPU:$D7A9 PRG:17A9 80 A2 00 FE 5B 02 FE 5F 02 20 D0 D7 C6 0A D0 EF + .byte $4C, $32, $D7, $A5, $0A, $C9, $32, $D0, $DA, $A9, $7B, $85, $32, $A9, $02, $85 ; CPU:$D7B9 PRG:17B9 4C 32 D7 A5 0A C9 32 D0 DA A9 7B 85 32 A9 02 85 + .byte $33, $A9, $15, $85, $35, $D0, $CC, $D0, $08, $A9, $F4, $9D, $58, $02, $9D, $5C ; CPU:$D7C9 PRG:17C9 33 A9 15 85 35 D0 CC D0 08 A9 F4 9D 58 02 9D 5C + .byte $02, $60 ; CPU:$D7D9 PRG:17D9 02 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D7DB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D7DB: + lda Zp84 ; CPU:$D7DB PRG:17DB A5 84 + cmp #$03 ; CPU:$D7DD PRG:17DD C9 03 + bne Label_D7FC ; CPU:$D7DF PRG:17DF D0 1B + lda Zp82 ; CPU:$D7E1 PRG:17E1 A5 82 + bne Label_D7FC ; CPU:$D7E3 PRG:17E3 D0 17 + lda #$1B ; CPU:$D7E5 PRG:17E5 A9 1B + sta Zp35 ; CPU:$D7E7 PRG:17E7 85 35 + ldx Zp89 ; CPU:$D7E9 PRG:17E9 A6 89 + lda Zp2B,x ; CPU:$D7EB PRG:17EB B5 2B + bne Label_D807 ; CPU:$D7ED PRG:17ED D0 18 + lda #$60 ; CPU:$D7EF PRG:17EF A9 60 + sta Zp2B,x ; CPU:$D7F1 PRG:17F1 95 2B + lda #$08 ; CPU:$D7F3 PRG:17F3 A9 08 + eor Zp34 ; CPU:$D7F5 PRG:17F5 45 34 + sta Zp34 ; CPU:$D7F7 PRG:17F7 85 34 + jmp $D807 ; CPU:$D7F9 PRG:17F9 4C 07 D8 +; ----------------------------------------------------------------------------- +; Routine: Label_D7FC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D7FC: + lda Zp89 ; CPU:$D7FC PRG:17FC A5 89 + asl a ; CPU:$D7FE PRG:17FE 0A + asl a ; CPU:$D7FF PRG:17FF 0A + asl a ; CPU:$D800 PRG:1800 0A + sta Zp34 ; CPU:$D801 PRG:1801 85 34 + lda #$15 ; CPU:$D803 PRG:1803 A9 15 + sta Zp35 ; CPU:$D805 PRG:1805 85 35 +; ----------------------------------------------------------------------------- +; Routine: Label_D807 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D807: + lda #$7B ; CPU:$D807 PRG:1807 A9 7B + sta Zp32 ; CPU:$D809 PRG:1809 85 32 + rts ; CPU:$D80B PRG:180B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D80C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D80C: + ldx Zp89 ; CPU:$D80C PRG:180C A6 89 + lda Zp35 ; CPU:$D80E PRG:180E A5 35 + cmp #$18 ; CPU:$D810 PRG:1810 C9 18 + bne Label_D825 ; CPU:$D812 PRG:1812 D0 11 + jsr $E21E ; CPU:$D814 PRG:1814 20 1E E2 + lda Zp2B,x ; CPU:$D817 PRG:1817 B5 2B + beq Label_D828 ; CPU:$D819 PRG:1819 F0 0D + and #$0F ; CPU:$D81B PRG:181B 29 0F + bne Label_D825 ; CPU:$D81D PRG:181D D0 06 + lda #$08 ; CPU:$D81F PRG:181F A9 08 + eor Zp34 ; CPU:$D821 PRG:1821 45 34 + sta Zp34 ; CPU:$D823 PRG:1823 85 34 +; ----------------------------------------------------------------------------- +; Routine: Label_D825 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D825: + jmp $D2AF ; CPU:$D825 PRG:1825 4C AF D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D828 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D828: + lda Zp89 ; CPU:$D828 PRG:1828 A5 89 + asl a ; CPU:$D82A PRG:182A 0A + asl a ; CPU:$D82B PRG:182B 0A + asl a ; CPU:$D82C PRG:182C 0A + sta Zp34 ; CPU:$D82D PRG:182D 85 34 + ldy #$00 ; CPU:$D82F PRG:182F A0 00 + jmp $D2A5 ; CPU:$D831 PRG:1831 4C A5 D2 +; ---- data $D834-$DA24 (497 bytes) ---- + .byte $A5, $84, $C9, $03, $D0, $08, $AD, $2F, $02, $38, $E5, $33, $F0, $03, $4C, $B2 ; CPU:$D834 PRG:1834 A5 84 C9 03 D0 08 AD 2F 02 38 E5 33 F0 03 4C B2 + .byte $D2, $A9, $04, $85, $84, $A9, $01, $85, $90, $A9, $97, $8D, $40, $02, $8D, $44 ; CPU:$D844 PRG:1844 D2 A9 04 85 84 A9 01 85 90 A9 97 8D 40 02 8D 44 + .byte $02, $A9, $9F, $8D, $48, $02, $8D, $4C, $02, $A9, $A3, $85, $4A, $A9, $00, $85 ; CPU:$D854 PRG:1854 02 A9 9F 8D 48 02 8D 4C 02 A9 A3 85 4A A9 00 85 + .byte $49, $A9, $1D, $85, $35, $A9, $7B, $85, $32, $A9, $60, $85, $45, $E6, $31, $D0 ; CPU:$D864 PRG:1864 49 A9 1D 85 35 A9 7B 85 32 A9 60 85 45 E6 31 D0 + .byte $CD, $A5, $45, $F0, $05, $C6, $45, $4C, $B2, $D2, $20, $0E, $E4, $C9, $FF, $D0 ; CPU:$D874 PRG:1874 CD A5 45 F0 05 C6 45 4C B2 D2 20 0E E4 C9 FF D0 + .byte $20, $A9, $03, $85, $84, $20, $59, $E4, $A9, $10, $9D, $01, $03, $20, $05, $DB ; CPU:$D884 PRG:1884 20 A9 03 85 84 20 59 E4 A9 10 9D 01 03 20 05 DB + .byte $A5, $89, $0A, $0A, $0A, $85, $34, $A9, $00, $85, $31, $85, $32, $85, $33, $F0 ; CPU:$D894 PRG:1894 A5 89 0A 0A 0A 85 34 A9 00 85 31 85 32 85 33 F0 + .byte $0C, $A5, $2A, $29, $0F, $D0, $06, $A9, $08, $45, $34, $85, $34, $4C, $B2, $D2 ; CPU:$D8A4 PRG:18A4 0C A5 2A 29 0F D0 06 A9 08 45 34 85 34 4C B2 D2 + .byte $A5, $33, $38, $A6, $89, $D0, $06, $E9, $58, $90, $0D, $B0, $04, $E9, $B0, $B0 ; CPU:$D8B4 PRG:18B4 A5 33 38 A6 89 D0 06 E9 58 90 0D B0 04 E9 B0 B0 + .byte $07, $A0, $0B, $84, $4F, $4C, $A9, $D2, $A9, $15, $85, $35, $A5, $84, $C9, $01 ; CPU:$D8C4 PRG:18C4 07 A0 0B 84 4F 4C A9 D2 A9 15 85 35 A5 84 C9 01 + .byte $D0, $11, $20, $59, $E4, $A9, $0A, $9D, $01, $03, $A9, $20, $9D, $15, $03, $A9 ; CPU:$D8D4 PRG:18D4 D0 11 20 59 E4 A9 0A 9D 01 03 A9 20 9D 15 03 A9 + .byte $00, $85, $31, $4C, $B2, $D2, $A2, $18, $DE, $40, $02, $CA, $CA, $CA, $CA, $10 ; CPU:$D8E4 PRG:18E4 00 85 31 4C B2 D2 A2 18 DE 40 02 CA CA CA CA 10 + .byte $F7, $AD, $44, $02, $C9, $2F, $D0, $17, $E6, $31, $20, $F3, $E7, $20, $AC, $DD ; CPU:$D8F4 PRG:18F4 F7 AD 44 02 C9 2F D0 17 E6 31 20 F3 E7 20 AC DD + .byte $20, $59, $E4, $A9, $7B, $85, $32, $A9, $1C, $85, $35, $A9, $30, $85, $2D, $4C ; CPU:$D904 PRG:1904 20 59 E4 A9 7B 85 32 A9 1C 85 35 A9 30 85 2D 4C + .byte $B2, $D2, $A5, $2D, $F0, $59, $A5, $2B, $D0, $0A, $A9, $30, $85, $2B, $A9, $08 ; CPU:$D914 PRG:1914 B2 D2 A5 2D F0 59 A5 2B D0 0A A9 30 85 2B A9 08 + .byte $45, $34, $85, $34, $A5, $2C, $D0, $41, $A9, $10, $85, $2C, $AD, $45, $02, $49 ; CPU:$D924 PRG:1924 45 34 85 34 A5 2C D0 41 A9 10 85 2C AD 45 02 49 + .byte $03, $8D, $45, $02, $AD, $49, $02, $49, $03, $8D, $49, $02, $A6, $91, $A4, $92 ; CPU:$D934 PRG:1934 03 8D 45 02 AD 49 02 49 03 8D 49 02 A6 91 A4 92 + .byte $BD, $E8, $F8, $C9, $FE, $F0, $1E, $C9, $FF, $F0, $19, $18, $6D, $60, $02, $99 ; CPU:$D944 PRG:1944 BD E8 F8 C9 FE F0 1E C9 FF F0 19 18 6D 60 02 99 + .byte $60, $02, $E8, $BD, $E8, $F8, $18, $6D, $63, $02, $99, $63, $02, $E8, $C8, $C8 ; CPU:$D954 PRG:1954 60 02 E8 BD E8 F8 18 6D 63 02 99 63 02 E8 C8 C8 + .byte $C8, $C8, $D0, $DC, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $A9 ; CPU:$D964 PRG:1964 C8 C8 D0 DC E8 86 91 84 92 20 D1 DD 4C B2 D2 A9 + .byte $00, $85, $91, $85, $92, $E6, $31, $D0, $F3, $AD, $44, $02, $C9, $48, $F0, $0B ; CPU:$D974 PRG:1974 00 85 91 85 92 E6 31 D0 F3 AD 44 02 C9 48 F0 0B + .byte $A2, $18, $FE, $40, $02, $CA, $CA, $CA, $CA, $10, $F7, $A5, $2C, $D0, $2B, $A9 ; CPU:$D984 PRG:1984 A2 18 FE 40 02 CA CA CA CA 10 F7 A5 2C D0 2B A9 + .byte $10, $85, $2C, $A6, $91, $A4, $92, $BD, $E8, $F8, $C9, $FE, $F0, $22, $C9, $FF ; CPU:$D994 PRG:1994 10 85 2C A6 91 A4 92 BD E8 F8 C9 FE F0 22 C9 FF + .byte $F0, $10, $A9, $00, $99, $60, $02, $E8, $99, $63, $02, $E8, $C8, $C8, $C8, $C8 ; CPU:$D9A4 PRG:19A4 F0 10 A9 00 99 60 02 E8 99 63 02 E8 C8 C8 C8 C8 + .byte $D0, $E5, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $4C, $22, $DA ; CPU:$D9B4 PRG:19B4 D0 E5 E8 86 91 84 92 20 D1 DD 4C B2 D2 4C 22 DA + .byte $A5, $1F, $D0, $F9, $A5, $89, $F0, $43, $A9, $03, $8D, $09, $03, $85, $A0, $8D ; CPU:$D9C4 PRG:19C4 A5 1F D0 F9 A5 89 F0 43 A9 03 8D 09 03 85 A0 8D + .byte $01, $05, $A9, $11, $8D, $00, $05, $A0, $23, $A2, $1A, $20, $8E, $D0, $A2, $1A ; CPU:$D9D4 PRG:19D4 01 05 A9 11 8D 00 05 A0 23 A2 1A 20 8E D0 A2 1A + .byte $A0, $27, $20, $8E, $D0, $20, $D9, $DA, $A5, $71, $C9, $19, $F0, $02, $E6, $71 ; CPU:$D9E4 PRG:19E4 A0 27 20 8E D0 20 D9 DA A5 71 C9 19 F0 02 E6 71 + .byte $A9, $15, $85, $35, $A9, $01, $8D, $15, $03, $8D, $00, $03, $8D, $40, $03, $A9 ; CPU:$D9F4 PRG:19F4 A9 15 85 35 A9 01 8D 15 03 8D 00 03 8D 40 03 A9 + .byte $00, $85, $93, $A9, $0A, $8D, $01, $03, $4C, $B2, $D2, $A2, $00, $B5, $A4, $38 ; CPU:$DA04 PRG:1A04 00 85 93 A9 0A 8D 01 03 4C B2 D2 A2 00 B5 A4 38 + .byte $F5, $94, $F0, $1C, $B0, $08, $A5, $94, $85, $A4, $A5, $95, $85, $A5, $20, $DF ; CPU:$DA14 PRG:1A14 F5 94 F0 1C B0 08 A5 94 85 A4 A5 95 85 A5 20 DF + .byte $E7 ; CPU:$DA24 PRG:1A24 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_DA25 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DA25: + lda #$01 ; CPU:$DA25 PRG:1A25 A9 01 + sta Zp24 ; CPU:$DA27 PRG:1A27 85 24 + lda #$00 ; CPU:$DA29 PRG:1A29 A9 00 + sta Zp26 ; CPU:$DA2B PRG:1A2B 85 26 + lda Zp08 ; CPU:$DA2D PRG:1A2D A5 08 + and #$FE ; CPU:$DA2F PRG:1A2F 29 FE + sta Zp08 ; CPU:$DA31 PRG:1A31 85 08 + rts ; CPU:$DA33 PRG:1A33 60 +; ---- data $DA34-$DAA6 (115 bytes) ---- + .byte $E0, $01, $F0, $EA, $E8, $D0, $D6, $A9, $45, $8D, $00, $05, $E0, $00, $D0, $31 ; CPU:$DA34 PRG:1A34 E0 01 F0 EA E8 D0 D6 A9 45 8D 00 05 E0 00 D0 31 + .byte $AD, $09, $03, $C9, $01, $D0, $5B, $A2, $00, $A0, $01, $BD, $47, $F7, $C9, $FF ; CPU:$DA44 PRG:1A44 AD 09 03 C9 01 D0 5B A2 00 A0 01 BD 47 F7 C9 FF + .byte $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $1B, $A0, $22, $20, $A7, $DA ; CPU:$DA54 PRG:1A54 F0 07 99 00 05 E8 C8 D0 F2 A2 1B A0 22 20 A7 DA + .byte $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E7, $A0, $23, $4C, $A7 ; CPU:$DA64 PRG:1A64 A9 A5 8D 01 05 A9 11 8D 00 05 A2 E7 A0 23 4C A7 + .byte $DA, $AD, $29, $03, $C9, $01, $D0, $2A, $A2, $00, $A0, $01, $BD, $5C, $F7, $C9 ; CPU:$DA74 PRG:1A74 DA AD 29 03 C9 01 D0 2A A2 00 A0 01 BD 5C F7 C9 + .byte $FF, $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $00, $A0, $22, $20, $A7 ; CPU:$DA84 PRG:1A84 FF F0 07 99 00 05 E8 C8 D0 F2 A2 00 A0 22 20 A7 + .byte $DA, $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E0, $A0, $23, $20 ; CPU:$DA94 PRG:1A94 DA A9 A5 8D 01 05 A9 11 8D 00 05 A2 E0 A0 23 20 + .byte $A7, $DA, $60 ; CPU:$DAA4 PRG:1AA4 A7 DA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DAA7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DAA7: + lda Zp08 ; CPU:$DAA7 PRG:1AA7 A5 08 + eor Zp8A ; CPU:$DAA9 PRG:1AA9 45 8A + and #$01 ; CPU:$DAAB PRG:1AAB 29 01 + bne Label_DAB3 ; CPU:$DAAD PRG:1AAD D0 04 + iny ; CPU:$DAAF PRG:1AAF C8 + iny ; CPU:$DAB0 PRG:1AB0 C8 + iny ; CPU:$DAB1 PRG:1AB1 C8 + iny ; CPU:$DAB2 PRG:1AB2 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_DAB3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DAB3: + jsr $D08E ; CPU:$DAB3 PRG:1AB3 20 8E D0 + rts ; CPU:$DAB6 PRG:1AB6 60 +; ---- data $DAB7-$DB47 (145 bytes) ---- + .byte $A9, $98, $A2, $00, $A0, $08, $84, $00, $9D, $00, $02, $E8, $E8, $E8, $A8, $A9 ; CPU:$DAB7 PRG:1AB7 A9 98 A2 00 A0 08 84 00 9D 00 02 E8 E8 E8 A8 A9 + .byte $00, $9D, $00, $02, $98, $E8, $C6, $00, $D0, $EE, $18, $69, $08, $E0, $60, $D0 ; CPU:$DAC7 PRG:1AC7 00 9D 00 02 98 E8 C6 00 D0 EE 18 69 08 E0 60 D0 + .byte $E3, $60, $A5, $A0, $F0, $FB, $A9, $32, $A2, $14, $9D, $00, $05, $CA, $D0, $FA ; CPU:$DAD7 PRG:1AD7 E3 60 A5 A0 F0 FB A9 32 A2 14 9D 00 05 CA D0 FA + .byte $A9, $4C, $8D, $01, $05, $A9, $4E, $8D, $06, $05, $A9, $45, $8D, $00, $05, $A2 ; CPU:$DAE7 PRG:1AE7 A9 4C 8D 01 05 A9 4E 8D 06 05 A9 45 8D 00 05 A2 + .byte $1B, $A0, $22, $A5, $85, $29, $01, $F0, $02, $A0, $26, $4C, $8E, $D0, $A5, $39 ; CPU:$DAF7 PRG:1AF7 1B A0 22 A5 85 29 01 F0 02 A0 26 4C 8E D0 A5 39 + .byte $F0, $04, $C6, $39, $A5, $39, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A0, $23 ; CPU:$DB07 PRG:1B07 F0 04 C6 39 A5 39 8D 01 05 A9 11 8D 00 05 A0 23 + .byte $A5, $1F, $D0, $18, $A2, $3A, $A5, $89, $D0, $1A, $E6, $95, $A5, $95, $C9, $0A ; CPU:$DB17 PRG:1B17 A5 1F D0 18 A2 3A A5 89 D0 1A E6 95 A5 95 C9 0A + .byte $D0, $06, $E6, $94, $A9, $00, $85, $95, $A2, $1A, $D0, $08, $A2, $47, $A5, $89 ; CPU:$DB27 PRG:1B27 D0 06 E6 94 A9 00 85 95 A2 1A D0 08 A2 47 A5 89 + .byte $D0, $02, $A2, $5B, $86, $0C, $20, $8E, $D0, $A6, $0C, $A0, $27, $20, $8E, $D0 ; CPU:$DB37 PRG:1B37 D0 02 A2 5B 86 0C 20 8E D0 A6 0C A0 27 20 8E D0 + .byte $60 ; CPU:$DB47 PRG:1B47 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB48 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB48: + lda Zp96 ; CPU:$DB48 PRG:1B48 A5 96 + beq Label_DB91 ; CPU:$DB4A PRG:1B4A F0 45 + cmp #$02 ; CPU:$DB4C PRG:1B4C C9 02 + beq Label_DB57 ; CPU:$DB4E PRG:1B4E F0 07 + cmp #$01 ; CPU:$DB50 PRG:1B50 C9 01 + beq Label_DB92 ; CPU:$DB52 PRG:1B52 F0 3E + dec Zp96 ; CPU:$DB54 PRG:1B54 C6 96 + rts ; CPU:$DB56 PRG:1B56 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB57 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB57: + dec Zp96 ; CPU:$DB57 PRG:1B57 C6 96 + lda #$80 ; CPU:$DB59 PRG:1B59 A9 80 + sta Zp97 ; CPU:$DB5B PRG:1B5B 85 97 + lda Zp94 ; CPU:$DB5D PRG:1B5D A5 94 + sta $0501 ; CPU:$DB5F PRG:1B5F 8D 01 05 + lda Zp95 ; CPU:$DB62 PRG:1B62 A5 95 + sta $0502 ; CPU:$DB64 PRG:1B64 8D 02 05 + lda #$12 ; CPU:$DB67 PRG:1B67 A9 12 + sta $0500 ; CPU:$DB69 PRG:1B69 8D 00 05 + ldx #$DC ; CPU:$DB6C PRG:1B6C A2 DC + ldy #$22 ; CPU:$DB6E PRG:1B6E A0 22 + jsr $D08E ; CPU:$DB70 PRG:1B70 20 8E D0 + ldx #$DC ; CPU:$DB73 PRG:1B73 A2 DC + ldy #$26 ; CPU:$DB75 PRG:1B75 A0 26 + jsr $D08E ; CPU:$DB77 PRG:1B77 20 8E D0 + jsr $DBA6 ; CPU:$DB7A PRG:1B7A 20 A6 DB +; ----------------------------------------------------------------------------- +; Routine: Label_DB7D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB7D: + lda #$1A ; CPU:$DB7D PRG:1B7D A9 1A + sta $0500 ; CPU:$DB7F PRG:1B7F 8D 00 05 + ldx #$6B ; CPU:$DB82 PRG:1B82 A2 6B + ldy #$22 ; CPU:$DB84 PRG:1B84 A0 22 + lda Zp85 ; CPU:$DB86 PRG:1B86 A5 85 + and #$01 ; CPU:$DB88 PRG:1B88 29 01 + bne Label_DB8E ; CPU:$DB8A PRG:1B8A D0 02 + ldy #$26 ; CPU:$DB8C PRG:1B8C A0 26 +; ----------------------------------------------------------------------------- +; Routine: Label_DB8E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB8E: + jmp $D08E ; CPU:$DB8E PRG:1B8E 4C 8E D0 +; ----------------------------------------------------------------------------- +; Routine: Label_DB91 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB91: + rts ; CPU:$DB91 PRG:1B91 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB92 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB92: + dec Zp97 ; CPU:$DB92 PRG:1B92 C6 97 + bne Label_DB91 ; CPU:$DB94 PRG:1B94 D0 FB + lda #$00 ; CPU:$DB96 PRG:1B96 A9 00 + sta Zp96 ; CPU:$DB98 PRG:1B98 85 96 + lda #$32 ; CPU:$DB9A PRG:1B9A A9 32 + ldx #$0A ; CPU:$DB9C PRG:1B9C A2 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DB9E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB9E: + sta $0500,x ; CPU:$DB9E PRG:1B9E 9D 00 05 + dex ; CPU:$DBA1 PRG:1BA1 CA + bne Label_DB9E ; CPU:$DBA2 PRG:1BA2 D0 FA + beq Label_DB7D ; CPU:$DBA4 PRG:1BA4 F0 D7 +; ----------------------------------------------------------------------------- +; Routine: Label_DBA6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBA6: + ldx #$0A ; CPU:$DBA6 PRG:1BA6 A2 0A + ldy #$0A ; CPU:$DBA8 PRG:1BA8 A0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DBAA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBAA: + lda $F940,y ; CPU:$DBAA PRG:1BAA B9 40 F9 + sta $0500,x ; CPU:$DBAD PRG:1BAD 9D 00 05 + dey ; CPU:$DBB0 PRG:1BB0 88 + dex ; CPU:$DBB1 PRG:1BB1 CA + bne Label_DBAA ; CPU:$DBB2 PRG:1BB2 D0 F6 + lda Zp94 ; CPU:$DBB4 PRG:1BB4 A5 94 + sta $0508 ; CPU:$DBB6 PRG:1BB6 8D 08 05 + lda Zp95 ; CPU:$DBB9 PRG:1BB9 A5 95 + sta $0509 ; CPU:$DBBB PRG:1BBB 8D 09 05 + rts ; CPU:$DBBE PRG:1BBE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DBBF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBBF: + lda Zp93 ; CPU:$DBBF PRG:1BBF A5 93 + bne Label_DBEF ; CPU:$DBC1 PRG:1BC1 D0 2C + jsr $DD8C ; CPU:$DBC3 PRG:1BC3 20 8C DD + lda Zp84 ; CPU:$DBC6 PRG:1BC6 A5 84 + jsr $CDE0 ; CPU:$DBC8 PRG:1BC8 20 E0 CD + ora $D5D0,y ; CPU:$DBCB PRG:1BCB 19 D0 D5 +; ---- data $DBCE-$DBDC (15 bytes) ---- + .byte $DB, $FD, $DB, $A1, $DC, $F6, $DC, $A5, $80, $0A, $0A, $0A, $0A, $85, $00 ; CPU:$DBCE PRG:1BCE DB FD DB A1 DC F6 DC A5 80 0A 0A 0A 0A 85 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DBDD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBDD: + lda Zp81 ; CPU:$DBDD PRG:1BDD A5 81 + and #$0F ; CPU:$DBDF PRG:1BDF 29 0F + ora Zp00 ; CPU:$DBE1 PRG:1BE1 05 00 + cmp #$20 ; CPU:$DBE3 PRG:1BE3 C9 20 + beq Label_DBF0 ; CPU:$DBE5 PRG:1BE5 F0 09 + cmp #$50 ; CPU:$DBE7 PRG:1BE7 C9 50 + beq Label_DBF0 ; CPU:$DBE9 PRG:1BE9 F0 05 + cmp #$70 ; CPU:$DBEB PRG:1BEB C9 70 + beq Label_DBF0 ; CPU:$DBED PRG:1BED F0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DBEF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBEF: + rts ; CPU:$DBEF PRG:1BEF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DBF0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBF0: + lda $05EC ; CPU:$DBF0 PRG:1BF0 AD EC 05 + and #$7F ; CPU:$DBF3 PRG:1BF3 29 7F + bne Label_DBEF ; CPU:$DBF5 PRG:1BF5 D0 F8 + jsr $E80C ; CPU:$DBF7 PRG:1BF7 20 0C E8 + inc Zp84 ; CPU:$DBFA PRG:1BFA E6 84 + rts ; CPU:$DBFC PRG:1BFC 60 +; ---- data $DBFD-$DCF5 (249 bytes) ---- + .byte $A9, $AB, $85, $00, $A2, $00, $BD, $07, $02, $C9, $FF, $F0, $0A, $E8, $E8, $E8 ; CPU:$DBFD PRG:1BFD A9 AB 85 00 A2 00 BD 07 02 C9 FF F0 0A E8 E8 E8 + .byte $E8, $E0, $3C, $D0, $F1, $F0, $6A, $BD, $04, $02, $18, $65, $00, $9D, $04, $02 ; CPU:$DC0D PRG:1C0D E8 E0 3C D0 F1 F0 6A BD 04 02 18 65 00 9D 04 02 + .byte $A5, $00, $38, $E9, $08, $85, $00, $E0, $38, $D0, $E2, $AD, $01, $03, $C9, $0B ; CPU:$DC1D PRG:1C1D A5 00 38 E9 08 85 00 E0 38 D0 E2 AD 01 03 C9 0B + .byte $D0, $08, $20, $D0, $DC, $A9, $01, $85, $84, $60, $E6, $84, $A5, $82, $F0, $41 ; CPU:$DC2D PRG:1C2D D0 08 20 D0 DC A9 01 85 84 60 E6 84 A5 82 F0 41 + .byte $A2, $0E, $A0, $00, $AD, $03, $03, $38, $E9, $7F, $90, $15, $85, $00, $A9, $7F ; CPU:$DC3D PRG:1C3D A2 0E A0 00 AD 03 03 38 E9 7F 90 15 85 00 A9 7F + .byte $38, $ED, $23, $03, $90, $07, $38, $E5, $00, $F0, $2A, $B0, $04, $A2, $00, $A0 ; CPU:$DC4D PRG:1C4D 38 ED 23 03 90 07 38 E5 00 F0 2A B0 04 A2 00 A0 + .byte $0E, $8E, $21, $03, $8C, $01, $03, $A9, $15, $8D, $05, $03, $8D, $25, $03, $A9 ; CPU:$DC5D PRG:1C5D 0E 8E 21 03 8C 01 03 A9 15 8D 05 03 8D 25 03 A9 + .byte $7B, $8D, $02, $03, $8D, $22, $03, $A9, $00, $8D, $04, $03, $A9, $08, $8D, $24 ; CPU:$DC6D PRG:1C6D 7B 8D 02 03 8D 22 03 A9 00 8D 04 03 A9 08 8D 24 + .byte $03, $20, $7D, $DD, $60, $38, $A5, $C5, $E5, $C9, $F0, $04, $B0, $D3, $90, $CD ; CPU:$DC7D PRG:1C7D 03 20 7D DD 60 38 A5 C5 E5 C9 F0 04 B0 D3 90 CD + .byte $A5, $C6, $38, $E5, $CA, $F0, $04, $B0, $C8, $90, $C2, $AD, $EC, $05, $29, $01 ; CPU:$DC8D PRG:1C8D A5 C6 38 E5 CA F0 04 B0 C8 90 C2 AD EC 05 29 01 + .byte $F0, $BF, $D0, $B9, $A2, $00, $BD, $07, $02, $C9, $00, $F0, $14, $E8, $E8, $E8 ; CPU:$DC9D PRG:1C9D F0 BF D0 B9 A2 00 BD 07 02 C9 00 F0 14 E8 E8 E8 + .byte $E8, $E0, $3C, $D0, $F1, $AD, $07, $02, $C9, $47, $D0, $C5, $20, $D2, $E7, $D0 ; CPU:$DCAD PRG:1CAD E8 E0 3C D0 F1 AD 07 02 C9 47 D0 C5 20 D2 E7 D0 + .byte $C0, $A9, $F4, $9D, $04, $02, $E0, $38, $D0, $E3, $20, $7D, $DD, $A9, $01, $85 ; CPU:$DCBD PRG:1CBD C0 A9 F4 9D 04 02 E0 38 D0 E3 20 7D DD A9 01 85 + .byte $84, $D0, $AE, $A0, $00, $A2, $00, $B9, $FA, $F6, $C9, $2F, $F0, $07, $9D, $04 ; CPU:$DCCD PRG:1CCD 84 D0 AE A0 00 A2 00 B9 FA F6 C9 2F F0 07 9D 04 + .byte $02, $E8, $C8, $D0, $F2, $60, $A0, $00, $A2, $00, $B9, $F6, $F6, $C9, $2F, $F0 ; CPU:$DCDD PRG:1CDD 02 E8 C8 D0 F2 60 A0 00 A2 00 B9 F6 F6 C9 2F F0 + .byte $07, $9D, $00, $02, $E8, $C8, $D0, $F2, $60 ; CPU:$DCED PRG:1CED 07 9D 00 02 E8 C8 D0 F2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DCF6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DCF6: + jsr $DD00 ; CPU:$DCF6 PRG:1CF6 20 00 DD + lda Zp90 ; CPU:$DCF9 PRG:1CF9 A5 90 + bne Label_DCFF ; CPU:$DCFB PRG:1CFB D0 02 + sta Zp84 ; CPU:$DCFD PRG:1CFD 85 84 +; ----------------------------------------------------------------------------- +; Routine: Label_DCFF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DCFF: + rts ; CPU:$DCFF PRG:1CFF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DD00 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD00: + lda Zp90 ; CPU:$DD00 PRG:1D00 A5 90 + beq Label_DD33 ; CPU:$DD02 PRG:1D02 F0 2F + cmp #$02 ; CPU:$DD04 PRG:1D04 C9 02 + beq Label_DD3B ; CPU:$DD06 PRG:1D06 F0 33 + dec $0240 ; CPU:$DD08 PRG:1D08 CE 40 02 + dec $0244 ; CPU:$DD0B PRG:1D0B CE 44 02 + dec $0248 ; CPU:$DD0E PRG:1D0E CE 48 02 + dec $024C ; CPU:$DD11 PRG:1D11 CE 4C 02 + dec $0243 ; CPU:$DD14 PRG:1D14 CE 43 02 + dec $0247 ; CPU:$DD17 PRG:1D17 CE 47 02 + dec $024B ; CPU:$DD1A PRG:1D1A CE 4B 02 + dec $024F ; CPU:$DD1D PRG:1D1D CE 4F 02 + dec $0243 ; CPU:$DD20 PRG:1D20 CE 43 02 + dec $0247 ; CPU:$DD23 PRG:1D23 CE 47 02 + dec $024B ; CPU:$DD26 PRG:1D26 CE 4B 02 + dec $024F ; CPU:$DD29 PRG:1D29 CE 4F 02 + lda $0240 ; CPU:$DD2C PRG:1D2C AD 40 02 + cmp #$8F ; CPU:$DD2F PRG:1D2F C9 8F + beq Label_DD34 ; CPU:$DD31 PRG:1D31 F0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DD33 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD33: + rts ; CPU:$DD33 PRG:1D33 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DD34 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD34: + lda #$06 ; CPU:$DD34 PRG:1D34 A9 06 + sta Zp2E ; CPU:$DD36 PRG:1D36 85 2E + inc Zp90 ; CPU:$DD38 PRG:1D38 E6 90 + rts ; CPU:$DD3A PRG:1D3A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DD3B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD3B: + lda Zp2E ; CPU:$DD3B PRG:1D3B A5 2E + bne Label_DD33 ; CPU:$DD3D PRG:1D3D D0 F4 + inc $0240 ; CPU:$DD3F PRG:1D3F EE 40 02 + inc $0244 ; CPU:$DD42 PRG:1D42 EE 44 02 + inc $0248 ; CPU:$DD45 PRG:1D45 EE 48 02 + inc $024C ; CPU:$DD48 PRG:1D48 EE 4C 02 + inc $0243 ; CPU:$DD4B PRG:1D4B EE 43 02 + inc $0247 ; CPU:$DD4E PRG:1D4E EE 47 02 + inc $024B ; CPU:$DD51 PRG:1D51 EE 4B 02 + inc $024F ; CPU:$DD54 PRG:1D54 EE 4F 02 + inc $0243 ; CPU:$DD57 PRG:1D57 EE 43 02 + inc $0247 ; CPU:$DD5A PRG:1D5A EE 47 02 + inc $024B ; CPU:$DD5D PRG:1D5D EE 4B 02 + inc $024F ; CPU:$DD60 PRG:1D60 EE 4F 02 + lda $0240 ; CPU:$DD63 PRG:1D63 AD 40 02 + cmp #$97 ; CPU:$DD66 PRG:1D66 C9 97 + bne Label_DD33 ; CPU:$DD68 PRG:1D68 D0 C9 + lda #$F4 ; CPU:$DD6A PRG:1D6A A9 F4 + sta $0240 ; CPU:$DD6C PRG:1D6C 8D 40 02 + sta $0244 ; CPU:$DD6F PRG:1D6F 8D 44 02 + sta $0248 ; CPU:$DD72 PRG:1D72 8D 48 02 + sta $024C ; CPU:$DD75 PRG:1D75 8D 4C 02 + lda #$00 ; CPU:$DD78 PRG:1D78 A9 00 + sta Zp90 ; CPU:$DD7A PRG:1D7A 85 90 + rts ; CPU:$DD7C PRG:1D7C 60 +; ---- data $DD7D-$DD8B (15 bytes) ---- + .byte $A0, $13, $A2, $00, $DE, $07, $02, $E8, $E8, $E8, $E8, $88, $D0, $F6, $60 ; CPU:$DD7D PRG:1D7D A0 13 A2 00 DE 07 02 E8 E8 E8 E8 88 D0 F6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DD8C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD8C: + lda Zp2A ; CPU:$DD8C PRG:1D8C A5 2A + and #$1F ; CPU:$DD8E PRG:1D8E 29 1F + bne Label_DDAB ; CPU:$DD90 PRG:1D90 D0 19 + ldx #$00 ; CPU:$DD92 PRG:1D92 A2 00 + ldy #$02 ; CPU:$DD94 PRG:1D94 A0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_DD96 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD96: + lda $021D,x ; CPU:$DD96 PRG:1D96 BD 1D 02 + eor #$03 ; CPU:$DD99 PRG:1D99 49 03 + sta $021D,x ; CPU:$DD9B PRG:1D9B 9D 1D 02 + lda $021E,x ; CPU:$DD9E PRG:1D9E BD 1E 02 + eor #$40 ; CPU:$DDA1 PRG:1DA1 49 40 + sta $021E,x ; CPU:$DDA3 PRG:1DA3 9D 1E 02 + ldx #$0C ; CPU:$DDA6 PRG:1DA6 A2 0C + dey ; CPU:$DDA8 PRG:1DA8 88 + bne Label_DD96 ; CPU:$DDA9 PRG:1DA9 D0 EB +; ----------------------------------------------------------------------------- +; Routine: Label_DDAB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DDAB: + rts ; CPU:$DDAB PRG:1DAB 60 +; ---- data $DDAC-$DE02 (87 bytes) ---- + .byte $A2, $00, $A9, $00, $9D, $60, $02, $9D, $62, $02, $9D, $63, $02, $A9, $E8, $9D ; CPU:$DDAC PRG:1DAC A2 00 A9 00 9D 60 02 9D 62 02 9D 63 02 A9 E8 9D + .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E8, $A9, $32, $8D, $60, $02, $A9 ; CPU:$DDBC PRG:1DBC 61 02 E8 E8 E8 E8 E0 A0 D0 E8 A9 32 8D 60 02 A9 + .byte $A0, $8D, $63, $02, $60, $A5, $2A, $29, $7F, $D0, $1F, $A2, $00, $AC, $EC, $05 ; CPU:$DDCC PRG:1DCC A0 8D 63 02 60 A5 2A 29 7F D0 1F A2 00 AC EC 05 + .byte $98, $69, $75, $A8, $29, $C3, $9D, $62, $02, $A9, $E8, $90, $02, $A9, $E9, $9D ; CPU:$DDDC PRG:1DDC 98 69 75 A8 29 C3 9D 62 02 A9 E8 90 02 A9 E9 9D + .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E6, $60, $A2, $1B, $BD, $CC, $F8 ; CPU:$DDEC PRG:1DEC 61 02 E8 E8 E8 E8 E0 A0 D0 E6 60 A2 1B BD CC F8 + .byte $9D, $40, $02, $CA, $10, $F7, $60 ; CPU:$DDFC PRG:1DFC 9D 40 02 CA 10 F7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DE03 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DE03: + lda Zp1F ; CPU:$DE03 PRG:1E03 A5 1F + bne Label_DE35 ; CPU:$DE05 PRG:1E05 D0 2E + ldx Zp89 ; CPU:$DE07 PRG:1E07 A6 89 + cpx #$00 ; CPU:$DE09 PRG:1E09 E0 00 + bne Label_DE35 ; CPU:$DE0B PRG:1E0B D0 28 + lda #$00 ; CPU:$DE0D PRG:1E0D A9 00 + sta Zp19 ; CPU:$DE0F PRG:1E0F 85 19 + lda Zp82 ; CPU:$DE11 PRG:1E11 A5 82 + beq Label_DE1C ; CPU:$DE13 PRG:1E13 F0 07 + lda $0204 ; CPU:$DE15 PRG:1E15 AD 04 02 + cmp #$9F ; CPU:$DE18 PRG:1E18 C9 9F + beq Label_DE35 ; CPU:$DE1A PRG:1E1A F0 19 +; ----------------------------------------------------------------------------- +; Routine: Label_DE1C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DE1C: + lda Zp40 ; CPU:$DE1C PRG:1E1C A5 40 + jsr $CDE0 ; CPU:$DE1E PRG:1E1E 20 E0 CD + ora $2CD0,y ; CPU:$DE21 PRG:1E21 19 D0 2C +; ---- data $DE24-$DE34 (17 bytes) ---- + .byte $DF, $36, $DE, $C9, $DE, $D8, $DE, $F0, $DE, $F4, $DE, $19, $DF, $A9, $06, $85 ; CPU:$DE24 PRG:1E24 DF 36 DE C9 DE D8 DE F0 DE F4 DE 19 DF A9 06 85 + .byte $40 ; CPU:$DE34 PRG:1E34 40 +; ----------------------------------------------------------------------------- +; Routine: Label_DE35 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DE35: + rts ; CPU:$DE35 PRG:1E35 60 +; ---- data $DE36-$DEC8 (147 bytes) ---- + .byte $A9, $01, $85, $40, $A5, $31, $C9, $01, $D0, $5A, $AD, $58, $02, $C9, $F4, $F0 ; CPU:$DE36 PRG:1E36 A9 01 85 40 A5 31 C9 01 D0 5A AD 58 02 C9 F4 F0 + .byte $1C, $C9, $5B, $90, $18, $AD, $5B, $02, $38, $E9, $04, $85, $00, $38, $A5, $33 ; CPU:$DE46 PRG:1E46 1C C9 5B 90 18 AD 5B 02 38 E9 04 85 00 38 A5 33 + .byte $E5, $00, $90, $09, $C9, $0E, $B0, $05, $A9, $07, $85, $40, $60, $A5, $88, $F0 ; CPU:$DE56 PRG:1E56 E5 00 90 09 C9 0E B0 05 A9 07 85 40 60 A5 88 F0 + .byte $CA, $AD, $21, $03, $C9, $0D, $F0, $5F, $C9, $08, $B0, $C3, $AE, $EC, $05, $A4 ; CPU:$DE66 PRG:1E66 CA AD 21 03 C9 0D F0 5F C9 08 B0 C3 AE EC 05 A4 + .byte $8F, $C0, $03, $B0, $00, $C9, $03, $D0, $37, $AD, $4C, $03, $F0, $07, $8A, $A0 ; CPU:$DE76 PRG:1E76 8F C0 03 B0 00 C9 03 D0 37 AD 4C 03 F0 07 8A A0 + .byte $80, $29, $07, $F0, $0C, $20, $96, $DF, $A0, $01, $29, $07, $F0, $03, $4C, $6D ; CPU:$DE86 PRG:1E86 80 29 07 F0 0C 20 96 DF A0 01 29 07 F0 03 4C 6D + .byte $DF, $84, $19, $60, $C9, $06, $F0, $05, $C9, $02, $F0, $08, $60, $8A, $A0, $01 ; CPU:$DE96 PRG:1E96 DF 84 19 60 C9 06 F0 05 C9 02 F0 08 60 8A A0 01 + .byte $29, $0F, $F0, $ED, $20, $96, $DF, $A0, $80, $29, $3F, $F0, $E4, $4C, $6D, $DF ; CPU:$DEA6 PRG:1EA6 29 0F F0 ED 20 96 DF A0 80 29 3F F0 E4 4C 6D DF + .byte $8A, $A0, $05, $29, $01, $F0, $09, $20, $96, $DF, $29, $01, $D0, $D0, $A0, $03 ; CPU:$DEB6 PRG:1EB6 8A A0 05 29 01 F0 09 20 96 DF 29 01 D0 D0 A0 03 + .byte $84, $40, $60 ; CPU:$DEC6 PRG:1EC6 84 40 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DEC9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DEC9: + lda #$01 ; CPU:$DEC9 PRG:1EC9 A9 01 + sta Zp19 ; CPU:$DECB PRG:1ECB 85 19 + lda ZpAC ; CPU:$DECD PRG:1ECD A5 AC + sta Zp8D ; CPU:$DECF PRG:1ECF 85 8D + ldx #$04 ; CPU:$DED1 PRG:1ED1 A2 04 + stx Zp40 ; CPU:$DED3 PRG:1ED3 86 40 + jmp $DF7A ; CPU:$DED5 PRG:1ED5 4C 7A DF +; ---- data $DED8-$DF4B (116 bytes) ---- + .byte $A5, $8D, $F0, $03, $C6, $8D, $60, $A0, $80, $AD, $EC, $05, $29, $01, $D0, $02 ; CPU:$DED8 PRG:1ED8 A5 8D F0 03 C6 8D 60 A0 80 AD EC 05 29 01 D0 02 + .byte $A0, $40, $A9, $01, $85, $40, $D0, $A7, $A5, $AC, $D0, $DB, $A5, $88, $D0, $1D ; CPU:$DEE8 PRG:1EE8 A0 40 A9 01 85 40 D0 A7 A5 AC D0 DB A5 88 D0 1D + .byte $AD, $58, $02, $C9, $F4, $F0, $12, $C9, $5B, $90, $0E, $A5, $33, $38, $ED, $5B ; CPU:$DEF8 PRG:1EF8 AD 58 02 C9 F4 F0 12 C9 5B 90 0E A5 33 38 ED 5B + .byte $02, $90, $06, $C9, $15, $B0, $02, $90, $04, $A0, $02, $D0, $82, $A0, $00, $F0 ; CPU:$DF08 PRG:1F08 02 90 06 C9 15 B0 02 90 04 A0 02 D0 82 A0 00 F0 + .byte $D1, $A5, $3A, $D0, $0B, $A5, $35, $C9, $01, $F0, $F2, $A0, $01, $4C, $97, $DE ; CPU:$DF18 PRG:1F18 D1 A5 3A D0 0B A5 35 C9 01 F0 F2 A0 01 4C 97 DE + .byte $A0, $01, $D0, $BE, $A6, $71, $E0, $02, $B0, $10, $A5, $33, $C9, $67, $B0, $0A ; CPU:$DF28 PRG:1F28 A0 01 D0 BE A6 71 E0 02 B0 10 A5 33 C9 67 B0 0A + .byte $A9, $00, $E0, $00, $F0, $02, $A9, $01, $85, $8F, $A5, $8E, $F0, $16, $A6, $8F ; CPU:$DF38 PRG:1F38 A9 00 E0 00 F0 02 A9 01 85 8F A5 8E F0 16 A6 8F + .byte $E0, $02, $90, $0A ; CPU:$DF48 PRG:1F48 E0 02 90 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DF4C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF4C: + and #$07 ; CPU:$DF4C PRG:1F4C 29 07 + bne Label_DF53 ; CPU:$DF4E PRG:1F4E D0 03 + jsr $DF9E ; CPU:$DF50 PRG:1F50 20 9E DF +; ----------------------------------------------------------------------------- +; Routine: Label_DF53 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF53: + dec Zp8E ; CPU:$DF53 PRG:1F53 C6 8E + rts ; CPU:$DF55 PRG:1F55 60 +; ---- data $DF56-$DF73 (30 bytes) ---- + .byte $29, $0F, $D0, $F9, $F0, $F4, $A5, $8F, $0A, $AA, $BD, $EA, $DF, $85, $8E, $BD ; CPU:$DF56 PRG:1F56 29 0F D0 F9 F0 F4 A5 8F 0A AA BD EA DF 85 8E BD + .byte $EB, $DF, $85, $AC, $E6, $40, $60, $A9, $04, $AC, $34, $03, $D0, $01 ; CPU:$DF66 PRG:1F66 EB DF 85 AC E6 40 60 A9 04 AC 34 03 D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DF74 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF74: + asl a ; CPU:$DF74 PRG:1F74 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DF75 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF75: + ora Zp19 ; CPU:$DF75 PRG:1F75 05 19 + sta Zp19 ; CPU:$DF77 PRG:1F77 85 19 + rts ; CPU:$DF79 PRG:1F79 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DF7A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF7A: + lda $05EC ; CPU:$DF7A PRG:1F7A AD EC 05 + sta Zp00 ; CPU:$DF7D PRG:1F7D 85 00 + and #$07 ; CPU:$DF7F PRG:1F7F 29 07 + bne Label_DF8D ; CPU:$DF81 PRG:1F81 D0 0A + lda #$04 ; CPU:$DF83 PRG:1F83 A9 04 + lsr Zp00 ; CPU:$DF85 PRG:1F85 46 00 + bcc Label_DF75 ; CPU:$DF87 PRG:1F87 90 EC + lda #$08 ; CPU:$DF89 PRG:1F89 A9 08 + bne Label_DF75 ; CPU:$DF8B PRG:1F8B D0 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_DF8D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF8D: + lda #$04 ; CPU:$DF8D PRG:1F8D A9 04 + ldy $0334 ; CPU:$DF8F PRG:1F8F AC 34 03 + beq Label_DF75 ; CPU:$DF92 PRG:1F92 F0 E1 + bne Label_DF74 ; CPU:$DF94 PRG:1F94 D0 DE + txa ; CPU:$DF96 PRG:1F96 8A + adc Zp4D ; CPU:$DF97 PRG:1F97 65 4D + sta $05EC ; CPU:$DF99 PRG:1F99 8D EC 05 + tax ; CPU:$DF9C PRG:1F9C AA + rts ; CPU:$DF9D PRG:1F9D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DF9E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF9E: + lda Zp88 ; CPU:$DF9E PRG:1F9E A5 88 + beq Label_DFB7 ; CPU:$DFA0 PRG:1FA0 F0 15 + lda $0321 ; CPU:$DFA2 PRG:1FA2 AD 21 03 + cmp #$08 ; CPU:$DFA5 PRG:1FA5 C9 08 + beq Label_DFB7 ; CPU:$DFA7 PRG:1FA7 F0 0E + ldx $05EC ; CPU:$DFA9 PRG:1FA9 AE EC 05 + lda #$01 ; CPU:$DFAC PRG:1FAC A9 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DFAE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFAE: + rol a ; CPU:$DFAE PRG:1FAE 2A + dex ; CPU:$DFAF PRG:1FAF CA + bne Label_DFAE ; CPU:$DFB0 PRG:1FB0 D0 FC + and #$CE ; CPU:$DFB2 PRG:1FB2 29 CE + sta Zp19 ; CPU:$DFB4 PRG:1FB4 85 19 + rts ; CPU:$DFB6 PRG:1FB6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DFB7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFB7: + lda #$06 ; CPU:$DFB7 PRG:1FB7 A9 06 + sta Zp40 ; CPU:$DFB9 PRG:1FB9 85 40 + rts ; CPU:$DFBB PRG:1FBB 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DFBC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFBC: + lda Zp1F ; CPU:$DFBC PRG:1FBC A5 1F + bne Label_DFE4 ; CPU:$DFBE PRG:1FBE D0 24 + lda $05EC ; CPU:$DFC0 PRG:1FC0 AD EC 05 + and #$01 ; CPU:$DFC3 PRG:1FC3 29 01 + bne Label_DFE4 ; CPU:$DFC5 PRG:1FC5 D0 1D + lda Zp71 ; CPU:$DFC7 PRG:1FC7 A5 71 + asl a ; CPU:$DFC9 PRG:1FC9 0A + tax ; CPU:$DFCA PRG:1FCA AA + lda $E00C,x ; CPU:$DFCB PRG:1FCB BD 0C E0 + sta Zp00 ; CPU:$DFCE PRG:1FCE 85 00 + lda $E00D,x ; CPU:$DFD0 PRG:1FD0 BD 0D E0 + sta Zp01 ; CPU:$DFD3 PRG:1FD3 85 01 + ldx $05EC ; CPU:$DFD5 PRG:1FD5 AE EC 05 + ldy Zp8F ; CPU:$DFD8 PRG:1FD8 A4 8F +; ----------------------------------------------------------------------------- +; Routine: Label_DFDA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFDA: + iny ; CPU:$DFDA PRG:1FDA C8 + cpy Zp01 ; CPU:$DFDB PRG:1FDB C4 01 + bcs Label_DFE5 ; CPU:$DFDD PRG:1FDD B0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_DFDF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFDF: + dex ; CPU:$DFDF PRG:1FDF CA + bne Label_DFDA ; CPU:$DFE0 PRG:1FE0 D0 F8 + sty Zp8F ; CPU:$DFE2 PRG:1FE2 84 8F +; ----------------------------------------------------------------------------- +; Routine: Label_DFE4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFE4: + rts ; CPU:$DFE4 PRG:1FE4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DFE5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFE5: + ldy Zp00 ; CPU:$DFE5 PRG:1FE5 A4 00 + jmp $DFDF ; CPU:$DFE7 PRG:1FE7 4C DF DF +; ---- data $DFEA-$E03F (86 bytes) ---- +; referenced by `lda $E00C,x` at $DFCB (operand $E00C falls inside this region) +; referenced by `lda $E00D,x` at $DFD0 (operand $E00D falls inside this region) + .byte $FF, $20, $E0, $14, $FF, $14, $E0, $14, $C0, $0C, $A0, $0A, $80, $07, $60, $07 ; CPU:$DFEA PRG:1FEA FF 20 E0 14 FF 14 E0 14 C0 0C A0 0A 80 07 60 07 + .byte $40, $07, $20, $07, $10, $08, $06, $06, $04, $04, $02, $04, $00, $04, $00, $03 ; CPU:$DFFA PRG:1FFA 40 07 20 07 10 08 06 06 04 04 02 04 00 04 00 03 + .byte $00, $03, $00, $02, $00, $03, $01, $03, $02, $04, $02, $05, $03, $05, $03, $06 ; CPU:$E00A PRG:200A 00 03 00 02 00 03 01 03 02 04 02 05 03 05 03 06 + .byte $04, $07, $04, $08, $05, $09, $05, $0A, $05, $0B, $06, $0B, $06, $0C, $07, $0C ; CPU:$E01A PRG:201A 04 07 04 08 05 09 05 0A 05 0B 06 0B 06 0C 07 0C + .byte $07, $0D, $08, $0D, $08, $0E, $09, $0E, $09, $0F, $0A, $0F, $0B, $0F, $0C, $10 ; CPU:$E02A PRG:202A 07 0D 08 0D 08 0E 09 0E 09 0F 0A 0F 0B 0F 0C 10 + .byte $0D, $10, $0E, $10, $0F, $10 ; CPU:$E03A PRG:203A 0D 10 0E 10 0F 10 +; ----------------------------------------------------------------------------- +; Routine: Label_E040 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E040: + lda ZpC0 ; CPU:$E040 PRG:2040 A5 C0 + beq Label_E075 ; CPU:$E042 PRG:2042 F0 31 + ldx Zp89 ; CPU:$E044 PRG:2044 A6 89 + cpx #$01 ; CPU:$E046 PRG:2046 E0 01 + bne Label_E075 ; CPU:$E048 PRG:2048 D0 2B + lda #$00 ; CPU:$E04A PRG:204A A9 00 + sta Zp18 ; CPU:$E04C PRG:204C 85 18 + lda Zp88 ; CPU:$E04E PRG:204E A5 88 + bne Label_E056 ; CPU:$E050 PRG:2050 D0 04 +; ----------------------------------------------------------------------------- +; Routine: Label_E052 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E052: + lda #$01 ; CPU:$E052 PRG:2052 A9 01 + bne Label_E073 ; CPU:$E054 PRG:2054 D0 1D +; ----------------------------------------------------------------------------- +; Routine: Label_E056 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E056: + lda $0301 ; CPU:$E056 PRG:2056 AD 01 03 + cmp #$08 ; CPU:$E059 PRG:2059 C9 08 + beq Label_E052 ; CPU:$E05B PRG:205B F0 F5 + lda Zp70 ; CPU:$E05D PRG:205D A5 70 + beq Label_E064 ; CPU:$E05F PRG:205F F0 03 + dec Zp70 ; CPU:$E061 PRG:2061 C6 70 + rts ; CPU:$E063 PRG:2063 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E064 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E064: + lda #$08 ; CPU:$E064 PRG:2064 A9 08 + sta Zp70 ; CPU:$E066 PRG:2066 85 70 + lda #$01 ; CPU:$E068 PRG:2068 A9 01 + ldx $05EC ; CPU:$E06A PRG:206A AE EC 05 +; ----------------------------------------------------------------------------- +; Routine: Label_E06D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E06D: + rol a ; CPU:$E06D PRG:206D 2A + dex ; CPU:$E06E PRG:206E CA + bne Label_E06D ; CPU:$E06F PRG:206F D0 FC + and #$CD ; CPU:$E071 PRG:2071 29 CD +; ----------------------------------------------------------------------------- +; Routine: Label_E073 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E073: + sta Zp18 ; CPU:$E073 PRG:2073 85 18 +; ----------------------------------------------------------------------------- +; Routine: Label_E075 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E075: + rts ; CPU:$E075 PRG:2075 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E076 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E076: + ldx Zp93 ; CPU:$E076 PRG:2076 A6 93 + bne Label_E075 ; CPU:$E078 PRG:2078 D0 FB + lda Zp31 ; CPU:$E07A PRG:207A A5 31 + jsr $CDE0 ; CPU:$E07C PRG:207C 20 E0 CD + ora $8DD0,y ; CPU:$E07F PRG:207F 19 D0 8D + cpx #$E9 ; CPU:$E082 PRG:2082 E0 E9 + cpx #$FC ; CPU:$E084 PRG:2084 E0 FC + cpx #$1D ; CPU:$E086 PRG:2086 E0 1D + sbc (ZpC0,x) ; CPU:$E088 PRG:2088 E1 C0 + sbc (ZpAB,x) ; CPU:$E08A PRG:208A E1 AB + dec ZpA5,x ; CPU:$E08C PRG:208C D6 A5 + rol a ; CPU:$E08E PRG:208E 2A + bne Label_E075 ; CPU:$E08F PRG:208F D0 E4 + ldy $0301 ; CPU:$E091 PRG:2091 AC 01 03 + cpy #$05 ; CPU:$E094 PRG:2094 C0 05 + bcs Label_E075 ; CPU:$E096 PRG:2096 B0 DD + ldy $0321 ; CPU:$E098 PRG:2098 AC 21 03 + cpy #$05 ; CPU:$E09B PRG:209B C0 05 + bcs Label_E11C ; CPU:$E09D PRG:209D B0 7D + lda $05EC ; CPU:$E09F PRG:209F AD EC 05 + and #$7F ; CPU:$E0A2 PRG:20A2 29 7F + bne Label_E075 ; CPU:$E0A4 PRG:20A4 D0 CF + ldx Zp1F ; CPU:$E0A6 PRG:20A6 A6 1F + beq Label_E0B4 ; CPU:$E0A8 PRG:20A8 F0 0A + lda $05EC ; CPU:$E0AA PRG:20AA AD EC 05 + ldx $0303 ; CPU:$E0AD PRG:20AD AE 03 03 + and #$08 ; CPU:$E0B0 PRG:20B0 29 08 + bne Label_E0B7 ; CPU:$E0B2 PRG:20B2 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E0B4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E0B4: + ldx $0323 ; CPU:$E0B4 PRG:20B4 AE 23 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E0B7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E0B7: + txa ; CPU:$E0B7 PRG:20B7 8A + sec ; CPU:$E0B8 PRG:20B8 38 + sbc #$0F ; CPU:$E0B9 PRG:20B9 E9 0F + and #$F0 ; CPU:$E0BB PRG:20BB 29 F0 + ora #$18 ; CPU:$E0BD PRG:20BD 09 18 + cmp #$30 ; CPU:$E0BF PRG:20BF C9 30 + bcc Label_E11C ; CPU:$E0C1 PRG:20C1 90 59 + cmp #$D0 ; CPU:$E0C3 PRG:20C3 C9 D0 + bcs Label_E11C ; CPU:$E0C5 PRG:20C5 B0 55 + sta Zp33 ; CPU:$E0C7 PRG:20C7 85 33 + lda #$00 ; CPU:$E0C9 PRG:20C9 A9 00 + ldx Zp82 ; CPU:$E0CB PRG:20CB A6 82 + bne Label_E11A ; CPU:$E0CD PRG:20CD D0 4B + lda #$01 ; CPU:$E0CF PRG:20CF A9 01 + ldx Zp84 ; CPU:$E0D1 PRG:20D1 A6 84 + cpx #$01 ; CPU:$E0D3 PRG:20D3 E0 01 + bne Label_E11A ; CPU:$E0D5 PRG:20D5 D0 43 + ldx $0301 ; CPU:$E0D7 PRG:20D7 AE 01 03 + cpx #$0D ; CPU:$E0DA PRG:20DA E0 0D + beq Label_E11A ; CPU:$E0DC PRG:20DC F0 3C + ldx $0321 ; CPU:$E0DE PRG:20DE AE 21 03 + cpx #$0D ; CPU:$E0E1 PRG:20E1 E0 0D + beq Label_E11A ; CPU:$E0E3 PRG:20E3 F0 35 + lda #$02 ; CPU:$E0E5 PRG:20E5 A9 02 + bne Label_E11A ; CPU:$E0E7 PRG:20E7 D0 31 + dec Zp32 ; CPU:$E0E9 PRG:20E9 C6 32 + lda Zp32 ; CPU:$E0EB PRG:20EB A5 32 + cmp #$2B ; CPU:$E0ED PRG:20ED C9 2B + bne Label_E11C ; CPU:$E0EF PRG:20EF D0 2B + lda #$12 ; CPU:$E0F1 PRG:20F1 A9 12 + sta Zp35 ; CPU:$E0F3 PRG:20F3 85 35 + jsr $E1CD ; CPU:$E0F5 PRG:20F5 20 CD E1 + lda #$03 ; CPU:$E0F8 PRG:20F8 A9 03 + bne Label_E11A ; CPU:$E0FA PRG:20FA D0 1E + lda $05EC ; CPU:$E0FC PRG:20FC AD EC 05 + clc ; CPU:$E0FF PRG:20FF 18 + adc #$08 ; CPU:$E100 PRG:2100 69 08 + bcc Label_E11C ; CPU:$E102 PRG:2102 90 18 + lda #$13 ; CPU:$E104 PRG:2104 A9 13 + sta Zp35 ; CPU:$E106 PRG:2106 85 35 + jsr $E1FD ; CPU:$E108 PRG:2108 20 FD E1 + lda #$2F ; CPU:$E10B PRG:210B A9 2F + sta $0258,x ; CPU:$E10D PRG:210D 9D 58 02 + lda #$27 ; CPU:$E110 PRG:2110 A9 27 + sta $025C,x ; CPU:$E112 PRG:2112 9D 5C 02 + jsr $E7C6 ; CPU:$E115 PRG:2115 20 C6 E7 + lda #$04 ; CPU:$E118 PRG:2118 A9 04 +; ----------------------------------------------------------------------------- +; Routine: Label_E11A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E11A: + sta Zp31 ; CPU:$E11A PRG:211A 85 31 +; ----------------------------------------------------------------------------- +; Routine: Label_E11C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E11C: + rts ; CPU:$E11C PRG:211C 60 +; ---- data $E11D-$E1CC (176 bytes) ---- + .byte $20, $FD, $E1, $FE, $58, $02, $FE, $5C, $02, $BD, $58, $02, $C9, $6D, $90, $EF ; CPU:$E11D PRG:211D 20 FD E1 FE 58 02 FE 5C 02 BD 58 02 C9 6D 90 EF + .byte $C9, $79, $90, $0E, $C9, $8E, $D0, $E7, $20, $1E, $E2, $20, $CE, $E7, $A9, $05 ; CPU:$E12D PRG:212D C9 79 90 0E C9 8E D0 E7 20 1E E2 20 CE E7 A9 05 + .byte $D0, $DB, $48, $86, $00, $A2, $01, $86, $01, $A9, $0A, $BC, $00, $03, $C0, $04 ; CPU:$E13D PRG:213D D0 DB 48 86 00 A2 01 86 01 A9 0A BC 00 03 C0 04 + .byte $D0, $06, $18, $7D, $02, $03, $D0, $03, $BD, $02, $03, $A4, $00, $38, $E9, $04 ; CPU:$E14D PRG:214D D0 06 18 7D 02 03 D0 03 BD 02 03 A4 00 38 E9 04 + .byte $38, $F9, $5B, $02, $B0, $04, $49, $FF, $69, $01, $C9, $06, $90, $0E, $68, $A4 ; CPU:$E15D PRG:215D 38 F9 5B 02 B0 04 49 FF 69 01 C9 06 90 0E 68 A4 + .byte $01, $F0, $C1, $48, $C6, $01, $A9, $F1, $A2, $21, $D0, $CF, $68, $A9, $0D, $9D ; CPU:$E16D PRG:216D 01 F0 C1 48 C6 01 A9 F1 A2 21 D0 CF 68 A9 0D 9D + .byte $00, $03, $A9, $0E, $9D, $12, $03, $A9, $7B, $9D, $01, $03, $8A, $48, $A9, $0F ; CPU:$E17D PRG:217D 00 03 A9 0E 9D 12 03 A9 7B 9D 01 03 8A 48 A9 0F + .byte $E0, $01, $F0, $02, $A9, $00, $A2, $05, $20, $C9, $E2, $68, $AA, $A9, $00, $9D ; CPU:$E18D PRG:218D E0 01 F0 02 A9 00 A2 05 20 C9 E2 68 AA A9 00 9D + .byte $11, $03, $9D, $10, $03, $9D, $0D, $03, $85, $88, $E6, $8B, $20, $CE, $E7, $20 ; CPU:$E19D PRG:219D 11 03 9D 10 03 9D 0D 03 85 88 E6 8B 20 CE E7 20 + .byte $CA, $E7, $8A, $4A, $4A, $4A, $4A, $4A, $A8, $A9, $FF, $99, $2B, $00, $A6, $00 ; CPU:$E1AD PRG:21AD CA E7 8A 4A 4A 4A 4A 4A A8 A9 FF 99 2B 00 A6 00 + .byte $4C, $3B, $E1, $E6, $32, $A5, $32, $C9, $3D, $D0, $34, $A9, $01, $4C, $3D, $E1 ; CPU:$E1BD PRG:21BD 4C 3B E1 E6 32 A5 32 C9 3D D0 34 A9 01 4C 3D E1 +; ----------------------------------------------------------------------------- +; Routine: Label_E1CD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E1CD: + jsr $E1FD ; CPU:$E1CD PRG:21CD 20 FD E1 + lda #$1D ; CPU:$E1D0 PRG:21D0 A9 1D + sta $0258,x ; CPU:$E1D2 PRG:21D2 9D 58 02 + lda #$15 ; CPU:$E1D5 PRG:21D5 A9 15 + sta $025C,x ; CPU:$E1D7 PRG:21D7 9D 5C 02 + inx ; CPU:$E1DA PRG:21DA E8 + lda #$6D ; CPU:$E1DB PRG:21DB A9 6D + sta $0258,x ; CPU:$E1DD PRG:21DD 9D 58 02 + lda #$6C ; CPU:$E1E0 PRG:21E0 A9 6C + sta $025C,x ; CPU:$E1E2 PRG:21E2 9D 5C 02 + inx ; CPU:$E1E5 PRG:21E5 E8 + lda #$02 ; CPU:$E1E6 PRG:21E6 A9 02 + sta $0258,x ; CPU:$E1E8 PRG:21E8 9D 58 02 + lda #$03 ; CPU:$E1EB PRG:21EB A9 03 + sta $025C,x ; CPU:$E1ED PRG:21ED 9D 5C 02 + inx ; CPU:$E1F0 PRG:21F0 E8 + lda Zp33 ; CPU:$E1F1 PRG:21F1 A5 33 + clc ; CPU:$E1F3 PRG:21F3 18 + adc #$04 ; CPU:$E1F4 PRG:21F4 69 04 + sta $0258,x ; CPU:$E1F6 PRG:21F6 9D 58 02 + sta $025C,x ; CPU:$E1F9 PRG:21F9 9D 5C 02 + rts ; CPU:$E1FC PRG:21FC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E1FD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E1FD: + ldx Zp89 ; CPU:$E1FD PRG:21FD A6 89 + dex ; CPU:$E1FF PRG:21FF CA + dex ; CPU:$E200 PRG:2200 CA + txa ; CPU:$E201 PRG:2201 8A + asl a ; CPU:$E202 PRG:2202 0A + asl a ; CPU:$E203 PRG:2203 0A + asl a ; CPU:$E204 PRG:2204 0A + tax ; CPU:$E205 PRG:2205 AA + rts ; CPU:$E206 PRG:2206 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E207 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E207: + ldx Zp36 ; CPU:$E207 PRG:2207 A6 36 + inx ; CPU:$E209 PRG:2209 E8 + inx ; CPU:$E20A PRG:220A E8 + ldy #$03 ; CPU:$E20B PRG:220B A0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E20D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E20D: + lda $0200,x ; CPU:$E20D PRG:220D BD 00 02 + ora #$40 ; CPU:$E210 PRG:2210 09 40 + sta $0200,x ; CPU:$E212 PRG:2212 9D 00 02 + txa ; CPU:$E215 PRG:2215 8A + clc ; CPU:$E216 PRG:2216 18 + adc #$08 ; CPU:$E217 PRG:2217 69 08 + tax ; CPU:$E219 PRG:2219 AA + dey ; CPU:$E21A PRG:221A 88 + bne Label_E20D ; CPU:$E21B PRG:221B D0 F0 + rts ; CPU:$E21D PRG:221D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E21E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E21E: + lda $0258 ; CPU:$E21E PRG:221E AD 58 02 + beq Label_E235 ; CPU:$E221 PRG:2221 F0 12 + lda Zp87 ; CPU:$E223 PRG:2223 A5 87 + bne Label_E235 ; CPU:$E225 PRG:2225 D0 0E + lda #$6F ; CPU:$E227 PRG:2227 A9 6F + sta $0259 ; CPU:$E229 PRG:2229 8D 59 02 + lda #$6E ; CPU:$E22C PRG:222C A9 6E + sta $025D ; CPU:$E22E PRG:222E 8D 5D 02 + lda #$0A ; CPU:$E231 PRG:2231 A9 0A + sta Zp87 ; CPU:$E233 PRG:2233 85 87 +; ----------------------------------------------------------------------------- +; Routine: Label_E235 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E235: + rts ; CPU:$E235 PRG:2235 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E236 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E236: + stx Zp0C ; CPU:$E236 PRG:2236 86 0C + sty Zp0D ; CPU:$E238 PRG:2238 84 0D + asl a ; CPU:$E23A PRG:223A 0A + tax ; CPU:$E23B PRG:223B AA + lda $F9CF,x ; CPU:$E23C PRG:223C BD CF F9 + sta Zp14 ; CPU:$E23F PRG:223F 85 14 + lda $F9D0,x ; CPU:$E241 PRG:2241 BD D0 F9 + sta Zp15 ; CPU:$E244 PRG:2244 85 15 + ldx #$05 ; CPU:$E246 PRG:2246 A2 05 + ldy #$04 ; CPU:$E248 PRG:2248 A0 04 +; ----------------------------------------------------------------------------- +; Routine: Label_E24A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E24A: + dey ; CPU:$E24A PRG:224A 88 + dex ; CPU:$E24B PRG:224B CA + beq Label_E255 ; CPU:$E24C PRG:224C F0 07 + lda (Zp14),y ; CPU:$E24E PRG:224E B1 14 + sta $0500,x ; CPU:$E250 PRG:2250 9D 00 05 + bne Label_E24A ; CPU:$E253 PRG:2253 D0 F5 +; ----------------------------------------------------------------------------- +; Routine: Label_E255 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E255: + lda #$22 ; CPU:$E255 PRG:2255 A9 22 + sta $0500 ; CPU:$E257 PRG:2257 8D 00 05 + ldx Zp0C ; CPU:$E25A PRG:225A A6 0C + ldy Zp0D ; CPU:$E25C PRG:225C A4 0D + jsr $D08E ; CPU:$E25E PRG:225E 20 8E D0 + lda Zp0D ; CPU:$E261 PRG:2261 A5 0D + clc ; CPU:$E263 PRG:2263 18 + adc #$04 ; CPU:$E264 PRG:2264 69 04 + tay ; CPU:$E266 PRG:2266 A8 + ldx Zp0C ; CPU:$E267 PRG:2267 A6 0C + jmp $D08E ; CPU:$E269 PRG:2269 4C 8E D0 +; ----------------------------------------------------------------------------- +; Routine: Label_E26C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E26C: + stx Zp0E ; CPU:$E26C PRG:226C 86 0E + lda ZpC6,x ; CPU:$E26E PRG:226E B5 C6 + and #$0F ; CPU:$E270 PRG:2270 29 0F + sta ZpCF ; CPU:$E272 PRG:2272 85 CF + lda ZpC6,x ; CPU:$E274 PRG:2274 B5 C6 + lsr a ; CPU:$E276 PRG:2276 4A + lsr a ; CPU:$E277 PRG:2277 4A + lsr a ; CPU:$E278 PRG:2278 4A + lsr a ; CPU:$E279 PRG:2279 4A + sta ZpCE ; CPU:$E27A PRG:227A 85 CE + lda ZpC5,x ; CPU:$E27C PRG:227C B5 C5 + and #$0F ; CPU:$E27E PRG:227E 29 0F + sta ZpCD ; CPU:$E280 PRG:2280 85 CD + lda Zp1F ; CPU:$E282 PRG:2282 A5 1F + bne Label_E290 ; CPU:$E284 PRG:2284 D0 0A + cpx #$04 ; CPU:$E286 PRG:2286 E0 04 + bne Label_E2B8 ; CPU:$E288 PRG:2288 D0 2E + ldx #$07 ; CPU:$E28A PRG:228A A2 07 + ldy #$23 ; CPU:$E28C PRG:228C A0 23 + bne Label_E29C ; CPU:$E28E PRG:228E D0 0C +; ----------------------------------------------------------------------------- +; Routine: Label_E290 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E290: + ldx #$E7 ; CPU:$E290 PRG:2290 A2 E7 + ldy #$22 ; CPU:$E292 PRG:2292 A0 22 + lda Zp0E ; CPU:$E294 PRG:2294 A5 0E + bne Label_E29C ; CPU:$E296 PRG:2296 D0 04 + ldx #$FB ; CPU:$E298 PRG:2298 A2 FB + ldy #$22 ; CPU:$E29A PRG:229A A0 22 +; ----------------------------------------------------------------------------- +; Routine: Label_E29C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E29C: + lda ZpCF ; CPU:$E29C PRG:229C A5 CF + jsr $E236 ; CPU:$E29E PRG:229E 20 36 E2 + ldy #$02 ; CPU:$E2A1 PRG:22A1 A0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E2A3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2A3: + sty Zp0F ; CPU:$E2A3 PRG:22A3 84 0F + lda Zp0C ; CPU:$E2A5 PRG:22A5 A5 0C + sec ; CPU:$E2A7 PRG:22A7 38 + sbc #$02 ; CPU:$E2A8 PRG:22A8 E9 02 + tax ; CPU:$E2AA PRG:22AA AA + lda a:$00CC,y ; CPU:$E2AB PRG:22AB B9 CC 00 + ldy Zp0D ; CPU:$E2AE PRG:22AE A4 0D + jsr $E236 ; CPU:$E2B0 PRG:22B0 20 36 E2 + ldy Zp0F ; CPU:$E2B3 PRG:22B3 A4 0F + dey ; CPU:$E2B5 PRG:22B5 88 + bne Label_E2A3 ; CPU:$E2B6 PRG:22B6 D0 EB +; ----------------------------------------------------------------------------- +; Routine: Label_E2B8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2B8: + rts ; CPU:$E2B8 PRG:22B8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E2B9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2B9: + lda Zp1F ; CPU:$E2B9 PRG:22B9 A5 1F + bne Label_E2C1 ; CPU:$E2BB PRG:22BB D0 04 + lda Zp89 ; CPU:$E2BD PRG:22BD A5 89 + beq Label_E2B8 ; CPU:$E2BF PRG:22BF F0 F7 +; ----------------------------------------------------------------------------- +; Routine: Label_E2C1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2C1: + lda #$0F ; CPU:$E2C1 PRG:22C1 A9 0F + ldy Zp89 ; CPU:$E2C3 PRG:22C3 A4 89 + beq Label_E2C9 ; CPU:$E2C5 PRG:22C5 F0 02 + lda #$00 ; CPU:$E2C7 PRG:22C7 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E2C9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2C9: + ldy #$00 ; CPU:$E2C9 PRG:22C9 A0 00 + sty Zp05 ; CPU:$E2CB PRG:22CB 84 05 + sty Zp06 ; CPU:$E2CD PRG:22CD 84 06 + ldy #$FF ; CPU:$E2CF PRG:22CF A0 FF + sty Zp04 ; CPU:$E2D1 PRG:22D1 84 04 + stx Zp07 ; CPU:$E2D3 PRG:22D3 86 07 + jmp $CEBE ; CPU:$E2D5 PRG:22D5 4C BE CE +; ----------------------------------------------------------------------------- +; Routine: Label_E2D8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2D8: + lda Zp93 ; CPU:$E2D8 PRG:22D8 A5 93 + bne Label_E34F ; CPU:$E2DA PRG:22DA D0 73 + lda Zp82 ; CPU:$E2DC PRG:22DC A5 82 + bne Label_E34F ; CPU:$E2DE PRG:22DE D0 6F + ldy #$02 ; CPU:$E2E0 PRG:22E0 A0 02 + lda $0301 ; CPU:$E2E2 PRG:22E2 AD 01 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E2E5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2E5: + cmp #$0A ; CPU:$E2E5 PRG:22E5 C9 0A + beq Label_E34F ; CPU:$E2E7 PRG:22E7 F0 66 + cmp #$0B ; CPU:$E2E9 PRG:22E9 C9 0B + beq Label_E34F ; CPU:$E2EB PRG:22EB F0 62 + lda $0321 ; CPU:$E2ED PRG:22ED AD 21 03 + dey ; CPU:$E2F0 PRG:22F0 88 + bne Label_E2E5 ; CPU:$E2F1 PRG:22F1 D0 F2 + lda Zp2D ; CPU:$E2F3 PRG:22F3 A5 2D + bne Label_E34F ; CPU:$E2F5 PRG:22F5 D0 58 + lda #$07 ; CPU:$E2F7 PRG:22F7 A9 07 + ldx Zp1F ; CPU:$E2F9 PRG:22F9 A6 1F + bne Label_E2FF ; CPU:$E2FB PRG:22FB D0 02 + lda #$06 ; CPU:$E2FD PRG:22FD A9 06 +; ----------------------------------------------------------------------------- +; Routine: Label_E2FF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2FF: + sta Zp2D ; CPU:$E2FF PRG:22FF 85 2D + lda Zp81 ; CPU:$E301 PRG:2301 A5 81 + cmp #$03 ; CPU:$E303 PRG:2303 C9 03 + beq Label_E30F ; CPU:$E305 PRG:2305 F0 08 + cmp #$06 ; CPU:$E307 PRG:2307 C9 06 + beq Label_E30F ; CPU:$E309 PRG:2309 F0 04 + cmp #$09 ; CPU:$E30B PRG:230B C9 09 + bne Label_E312 ; CPU:$E30D PRG:230D D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E30F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E30F: + jsr $DFBC ; CPU:$E30F PRG:230F 20 BC DF +; ----------------------------------------------------------------------------- +; Routine: Label_E312 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E312: + dec Zp81 ; CPU:$E312 PRG:2312 C6 81 + bpl Label_E31E ; CPU:$E314 PRG:2314 10 08 + dec Zp80 ; CPU:$E316 PRG:2316 C6 80 + bmi Label_E346 ; CPU:$E318 PRG:2318 30 2C + lda #$09 ; CPU:$E31A PRG:231A A9 09 + sta Zp81 ; CPU:$E31C PRG:231C 85 81 +; ----------------------------------------------------------------------------- +; Routine: Label_E31E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E31E: + lda Zp1F ; CPU:$E31E PRG:231E A5 1F + bne Label_E334 ; CPU:$E320 PRG:2320 D0 12 + ldx #$0E ; CPU:$E322 PRG:2322 A2 0E + ldy #$23 ; CPU:$E324 PRG:2324 A0 23 + lda Zp80 ; CPU:$E326 PRG:2326 A5 80 + jsr $E236 ; CPU:$E328 PRG:2328 20 36 E2 + ldx #$10 ; CPU:$E32B PRG:232B A2 10 + ldy #$23 ; CPU:$E32D PRG:232D A0 23 + lda Zp81 ; CPU:$E32F PRG:232F A5 81 + jmp $E236 ; CPU:$E331 PRG:2331 4C 36 E2 +; ----------------------------------------------------------------------------- +; Routine: Label_E334 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E334: + ldx #$2E ; CPU:$E334 PRG:2334 A2 2E + ldy #$23 ; CPU:$E336 PRG:2336 A0 23 + lda Zp80 ; CPU:$E338 PRG:2338 A5 80 + jsr $E236 ; CPU:$E33A PRG:233A 20 36 E2 + ldx #$30 ; CPU:$E33D PRG:233D A2 30 + ldy #$23 ; CPU:$E33F PRG:233F A0 23 + lda Zp81 ; CPU:$E341 PRG:2341 A5 81 + jmp $E236 ; CPU:$E343 PRG:2343 4C 36 E2 +; ----------------------------------------------------------------------------- +; Routine: Label_E346 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E346: + inc Zp82 ; CPU:$E346 PRG:2346 E6 82 + lda #$02 ; CPU:$E348 PRG:2348 A9 02 + sta Zp84 ; CPU:$E34A PRG:234A 85 84 + jsr $E80C ; CPU:$E34C PRG:234C 20 0C E8 +; ----------------------------------------------------------------------------- +; Routine: Label_E34F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E34F: + rts ; CPU:$E34F PRG:234F 60 +; ---- data $E350-$E40D (190 bytes) ---- + .byte $A5, $1F, $D0, $FB, $A6, $72, $E0, $12, $F0, $32, $BD, $C7, $E3, $85, $0C, $BD ; CPU:$E350 PRG:2350 A5 1F D0 FB A6 72 E0 12 F0 32 BD C7 E3 85 0C BD + .byte $C6, $E3, $8D, $01, $05, $A6, $73, $86, $0D, $E0, $56, $F0, $39, $A9, $11, $8D ; CPU:$E360 PRG:2360 C6 E3 8D 01 05 A6 73 86 0D E0 56 F0 39 A9 11 8D + .byte $00, $05, $20, $B7, $E3, $A5, $0C, $8D, $01, $05, $8D, $02, $05, $8D, $03, $05 ; CPU:$E370 PRG:2370 00 05 20 B7 E3 A5 0C 8D 01 05 8D 02 05 8D 03 05 + .byte $A9, $13, $8D, $00, $05, $A2, $F5, $86, $0D, $4C, $B7, $E3, $A0, $09, $A2, $08 ; CPU:$E380 PRG:2380 A9 13 8D 00 05 A2 F5 86 0D 4C B7 E3 A0 09 A2 08 + .byte $BD, $D7, $E3, $99, $FF, $04, $88, $CA, $D0, $F6, $A9, $18, $8D, $00, $05, $A2 ; CPU:$E390 PRG:2390 BD D7 E3 99 FF 04 88 CA D0 F6 A9 18 8D 00 05 A2 + .byte $56, $86, $0D, $4C, $B7, $E3, $A2, $04, $A9, $2F, $9D, $01, $05, $CA, $D0, $FA ; CPU:$E3A0 PRG:23A0 56 86 0D 4C B7 E3 A2 04 A9 2F 9D 01 05 CA D0 FA + .byte $A9, $15, $8D, $00, $05, $D0, $BB, $A6, $0D, $A0, $23, $20, $8E, $D0, $A6, $0D ; CPU:$E3B0 PRG:23B0 A9 15 8D 00 05 D0 BB A6 0D A0 23 20 8E D0 A6 0D + .byte $A0, $27, $20, $8E, $D0, $60, $AB, $FA, $AE, $5A, $C1, $5A, $E7, $0A, $AC, $FA ; CPU:$E3C0 PRG:23C0 A0 27 20 8E D0 60 AB FA AE 5A C1 5A E7 0A AC FA + .byte $BC, $5A, $AF, $5A, $E6, $FA, $AD, $FA, $EA, $EF, $E8, $F4, $F7, $F0, $F6, $F5 ; CPU:$E3D0 PRG:23D0 BC 5A AF 5A E6 FA AD FA EA EF E8 F4 F7 F0 F6 F5 + .byte $A0, $00, $84, $82, $84, $88, $84, $8B, $8C, $00, $02, $8C, $0D, $03, $8C, $2D ; CPU:$E3E0 PRG:23E0 A0 00 84 82 84 88 84 8B 8C 00 02 8C 0D 03 8C 2D + .byte $03, $84, $3D, $84, $C6, $84, $CA, $84, $83, $84, $93, $84, $A3, $C8, $84, $84 ; CPU:$E3F0 PRG:23F0 03 84 3D 84 C6 84 CA 84 83 84 93 84 A3 C8 84 84 + .byte $C8, $84, $C5, $84, $C9, $A9, $09, $85, $80, $A9, $0A, $85, $81, $60 ; CPU:$E400 PRG:2400 C8 84 C5 84 C9 A9 09 85 80 A9 0A 85 81 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E40E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E40E: + lda #$80 ; CPU:$E40E PRG:240E A9 80 + ldy Zp49 ; CPU:$E410 PRG:2410 A4 49 + beq Label_E418 ; CPU:$E412 PRG:2412 F0 04 + dec Zp49 ; CPU:$E414 PRG:2414 C6 49 + bne Label_E458 ; CPU:$E416 PRG:2416 D0 40 +; ----------------------------------------------------------------------------- +; Routine: Label_E418 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E418: + ldy Zp4A ; CPU:$E418 PRG:2418 A4 4A +; ----------------------------------------------------------------------------- +; Routine: Label_E41A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E41A: + lda $F7F1,y ; CPU:$E41A PRG:241A B9 F1 F7 + cmp #$FF ; CPU:$E41D PRG:241D C9 FF + beq Label_E458 ; CPU:$E41F PRG:241F F0 37 + cmp #$FE ; CPU:$E421 PRG:2421 C9 FE + bne Label_E42A ; CPU:$E423 PRG:2423 D0 05 + dey ; CPU:$E425 PRG:2425 88 + dey ; CPU:$E426 PRG:2426 88 + dey ; CPU:$E427 PRG:2427 88 + bne Label_E41A ; CPU:$E428 PRG:2428 D0 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_E42A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E42A: + cmp #$FD ; CPU:$E42A PRG:242A C9 FD + bne Label_E438 ; CPU:$E42C PRG:242C D0 0A + iny ; CPU:$E42E PRG:242E C8 + lda $F7F1,y ; CPU:$E42F PRG:242F B9 F1 F7 + sta Zp35 ; CPU:$E432 PRG:2432 85 35 + iny ; CPU:$E434 PRG:2434 C8 + lda $F7F1,y ; CPU:$E435 PRG:2435 B9 F1 F7 +; ----------------------------------------------------------------------------- +; Routine: Label_E438 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E438: + sta Zp49 ; CPU:$E438 PRG:2438 85 49 + iny ; CPU:$E43A PRG:243A C8 + lda $F7F1,y ; CPU:$E43B PRG:243B B9 F1 F7 + clc ; CPU:$E43E PRG:243E 18 + adc Zp32 ; CPU:$E43F PRG:243F 65 32 + sta Zp32 ; CPU:$E441 PRG:2441 85 32 + iny ; CPU:$E443 PRG:2443 C8 + lda $F7F1,y ; CPU:$E444 PRG:2444 B9 F1 F7 + ldx Zp89 ; CPU:$E447 PRG:2447 A6 89 + beq Label_E450 ; CPU:$E449 PRG:2449 F0 05 + eor #$FF ; CPU:$E44B PRG:244B 49 FF + clc ; CPU:$E44D PRG:244D 18 + adc #$01 ; CPU:$E44E PRG:244E 69 01 +; ----------------------------------------------------------------------------- +; Routine: Label_E450 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E450: + clc ; CPU:$E450 PRG:2450 18 + adc Zp33 ; CPU:$E451 PRG:2451 65 33 + sta Zp33 ; CPU:$E453 PRG:2453 85 33 + iny ; CPU:$E455 PRG:2455 C8 + sty Zp4A ; CPU:$E456 PRG:2456 84 4A +; ----------------------------------------------------------------------------- +; Routine: Label_E458 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E458: + rts ; CPU:$E458 PRG:2458 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E459 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E459: + ldx #$20 ; CPU:$E459 PRG:2459 A2 20 + lda Zp89 ; CPU:$E45B PRG:245B A5 89 + beq Label_E461 ; CPU:$E45D PRG:245D F0 02 + ldx #$00 ; CPU:$E45F PRG:245F A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E461 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E461: + rts ; CPU:$E461 PRG:2461 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E462 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E462: + lda #$00 ; CPU:$E462 PRG:2462 A9 00 + sta Zp41 ; CPU:$E464 PRG:2464 85 41 + sta Zp42 ; CPU:$E466 PRG:2466 85 42 + rts ; CPU:$E468 PRG:2468 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E469 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E469: + lda #$00 ; CPU:$E469 PRG:2469 A9 00 + sta Zp00 ; CPU:$E46B PRG:246B 85 00 + rts ; CPU:$E46D PRG:246D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E46E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E46E: + lda Zp82 ; CPU:$E46E PRG:246E A5 82 + beq Label_E479 ; CPU:$E470 PRG:2470 F0 07 + lda $0204 ; CPU:$E472 PRG:2472 AD 04 02 + cmp #$9F ; CPU:$E475 PRG:2475 C9 9F + beq Label_E469 ; CPU:$E477 PRG:2477 F0 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_E479 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E479: + lda Zp89 ; CPU:$E479 PRG:2479 A5 89 + eor #$01 ; CPU:$E47B PRG:247B 49 01 + tax ; CPU:$E47D PRG:247D AA + lda Zp18,x ; CPU:$E47E PRG:247E B5 18 + ldy Zp84 ; CPU:$E480 PRG:2480 A4 84 + cpy #$02 ; CPU:$E482 PRG:2482 C0 02 + beq Label_E48A ; CPU:$E484 PRG:2484 F0 04 + cpy #$03 ; CPU:$E486 PRG:2486 C0 03 + bne Label_E496 ; CPU:$E488 PRG:2488 D0 0C +; ----------------------------------------------------------------------------- +; Routine: Label_E48A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E48A: + ldy Zp82 ; CPU:$E48A PRG:248A A4 82 + bne Label_E496 ; CPU:$E48C PRG:248C D0 08 + lda #$01 ; CPU:$E48E PRG:248E A9 01 + cpx #$00 ; CPU:$E490 PRG:2490 E0 00 + bne Label_E496 ; CPU:$E492 PRG:2492 D0 02 + lda #$02 ; CPU:$E494 PRG:2494 A9 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E496 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E496: + sta Zp00 ; CPU:$E496 PRG:2496 85 00 + beq Label_E4BF ; CPU:$E498 PRG:2498 F0 25 + lda #$00 ; CPU:$E49A PRG:249A A9 00 + sta Zp3E ; CPU:$E49C PRG:249C 85 3E + ldx Zp89 ; CPU:$E49E PRG:249E A6 89 + beq Label_E4AE ; CPU:$E4A0 PRG:24A0 F0 0C + lda Zp00 ; CPU:$E4A2 PRG:24A2 A5 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E4A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4A4: + and #$03 ; CPU:$E4A4 PRG:24A4 29 03 + beq Label_E4AE ; CPU:$E4A6 PRG:24A6 F0 06 + lda #$03 ; CPU:$E4A8 PRG:24A8 A9 03 + eor Zp00 ; CPU:$E4AA PRG:24AA 45 00 + sta Zp00 ; CPU:$E4AC PRG:24AC 85 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E4AE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4AE: + ldx #$01 ; CPU:$E4AE PRG:24AE A2 01 + lda #$04 ; CPU:$E4B0 PRG:24B0 A9 04 + bit Zp00 ; CPU:$E4B2 PRG:24B2 24 00 + bne Label_E4BD ; CPU:$E4B4 PRG:24B4 D0 07 + dex ; CPU:$E4B6 PRG:24B6 CA + lda #$08 ; CPU:$E4B7 PRG:24B7 A9 08 + bit Zp00 ; CPU:$E4B9 PRG:24B9 24 00 + beq Label_E4BF ; CPU:$E4BB PRG:24BB F0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E4BD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4BD: + stx Zp44 ; CPU:$E4BD PRG:24BD 86 44 +; ----------------------------------------------------------------------------- +; Routine: Label_E4BF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4BF: + rts ; CPU:$E4BF PRG:24BF 60 +; ---- data $E4C0-$E4E1 (34 bytes) ---- + .byte $A2, $1F, $BD, $96, $F6, $9D, $00, $03, $CA, $10, $F7, $A2, $1F, $BD, $B6, $F6 ; CPU:$E4C0 PRG:24C0 A2 1F BD 96 F6 9D 00 03 CA 10 F7 A2 1F BD B6 F6 + .byte $9D, $20, $03, $CA, $10, $F7, $A2, $1F, $BD, $D6, $F6, $9D, $40, $03, $CA, $10 ; CPU:$E4D0 PRG:24D0 9D 20 03 CA 10 F7 A2 1F BD D6 F6 9D 40 03 CA 10 + .byte $F7, $60 ; CPU:$E4E0 PRG:24E0 F7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4E2: + lda Zp41 ; CPU:$E4E2 PRG:24E2 A5 41 + beq Label_E4EA ; CPU:$E4E4 PRG:24E4 F0 04 + dec Zp41 ; CPU:$E4E6 PRG:24E6 C6 41 + bne Label_E52A ; CPU:$E4E8 PRG:24E8 D0 40 +; ----------------------------------------------------------------------------- +; Routine: Label_E4EA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4EA: + lda Zp3E ; CPU:$E4EA PRG:24EA A5 3E + beq Label_E4F6 ; CPU:$E4EC PRG:24EC F0 08 + dec Zp3E ; CPU:$E4EE PRG:24EE C6 3E + lda #$4F ; CPU:$E4F0 PRG:24F0 A9 4F + cmp Zp3E ; CPU:$E4F2 PRG:24F2 C5 3E + bne Label_E52A ; CPU:$E4F4 PRG:24F4 D0 34 +; ----------------------------------------------------------------------------- +; Routine: Label_E4F6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4F6: + ldy Zp43 ; CPU:$E4F6 PRG:24F6 A4 43 + beq Label_E52A ; CPU:$E4F8 PRG:24F8 F0 30 + dey ; CPU:$E4FA PRG:24FA 88 + tya ; CPU:$E4FB PRG:24FB 98 + asl a ; CPU:$E4FC PRG:24FC 0A + tay ; CPU:$E4FD PRG:24FD A8 + lda $F77D,y ; CPU:$E4FE PRG:24FE B9 7D F7 + ldx $F77E,y ; CPU:$E501 PRG:2501 BE 7E F7 + sta Zp00 ; CPU:$E504 PRG:2504 85 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E506 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E506: + stx Zp01 ; CPU:$E506 PRG:2506 86 01 + ldy Zp42 ; CPU:$E508 PRG:2508 A4 42 +; ----------------------------------------------------------------------------- +; Routine: Label_E50A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E50A: + lda (Zp00),y ; CPU:$E50A PRG:250A B1 00 + cmp #$FE ; CPU:$E50C PRG:250C C9 FE + beq Label_E52B ; CPU:$E50E PRG:250E F0 1B + cmp #$FF ; CPU:$E510 PRG:2510 C9 FF + beq Label_E52F ; CPU:$E512 PRG:2512 F0 1B + sta Zp41 ; CPU:$E514 PRG:2514 85 41 + iny ; CPU:$E516 PRG:2516 C8 + lda (Zp00),y ; CPU:$E517 PRG:2517 B1 00 + sta Zp35 ; CPU:$E519 PRG:2519 85 35 + iny ; CPU:$E51B PRG:251B C8 + sty Zp42 ; CPU:$E51C PRG:251C 84 42 + lda Zp89 ; CPU:$E51E PRG:251E A5 89 + cmp #$02 ; CPU:$E520 PRG:2520 C9 02 + bcs Label_E52A ; CPU:$E522 PRG:2522 B0 06 + jsr $E535 ; CPU:$E524 PRG:2524 20 35 E5 + jsr $E54A ; CPU:$E527 PRG:2527 20 4A E5 +; ----------------------------------------------------------------------------- +; Routine: Label_E52A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E52A: + rts ; CPU:$E52A PRG:252A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E52B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E52B: + ldy #$00 ; CPU:$E52B PRG:252B A0 00 + beq Label_E50A ; CPU:$E52D PRG:252D F0 DB +; ----------------------------------------------------------------------------- +; Routine: Label_E52F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E52F: + jsr $E462 ; CPU:$E52F PRG:252F 20 62 E4 + sta Zp43 ; CPU:$E532 PRG:2532 85 43 + rts ; CPU:$E534 PRG:2534 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E535 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E535: + lda Zp3E ; CPU:$E535 PRG:2535 A5 3E + bne Label_E549 ; CPU:$E537 PRG:2537 D0 10 + lda Zp43 ; CPU:$E539 PRG:2539 A5 43 + cmp #$05 ; CPU:$E53B PRG:253B C9 05 + beq Label_E543 ; CPU:$E53D PRG:253D F0 04 + cmp #$06 ; CPU:$E53F PRG:253F C9 06 + bne Label_E549 ; CPU:$E541 PRG:2541 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_E543 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E543: + lda #$01 ; CPU:$E543 PRG:2543 A9 01 + eor Zp32 ; CPU:$E545 PRG:2545 45 32 + sta Zp32 ; CPU:$E547 PRG:2547 85 32 +; ----------------------------------------------------------------------------- +; Routine: Label_E549 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E549: + rts ; CPU:$E549 PRG:2549 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E54A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E54A: + lda Zp89 ; CPU:$E54A PRG:254A A5 89 + asl a ; CPU:$E54C PRG:254C 0A + asl a ; CPU:$E54D PRG:254D 0A + asl a ; CPU:$E54E PRG:254E 0A + sta Zp34 ; CPU:$E54F PRG:254F 85 34 + lda #$02 ; CPU:$E551 PRG:2551 A9 02 + sta Zp00 ; CPU:$E553 PRG:2553 85 00 + lda Zp31 ; CPU:$E555 PRG:2555 A5 31 + cmp #$0C ; CPU:$E557 PRG:2557 C9 0C + beq Label_E582 ; CPU:$E559 PRG:2559 F0 27 + cmp #$10 ; CPU:$E55B PRG:255B C9 10 + beq Label_E582 ; CPU:$E55D PRG:255D F0 23 + cmp #$01 ; CPU:$E55F PRG:255F C9 01 + beq Label_E56B ; CPU:$E561 PRG:2561 F0 08 + cmp #$02 ; CPU:$E563 PRG:2563 C9 02 + bne Label_E5AB ; CPU:$E565 PRG:2565 D0 44 + lda #$00 ; CPU:$E567 PRG:2567 A9 00 + sta Zp88 ; CPU:$E569 PRG:2569 85 88 +; ----------------------------------------------------------------------------- +; Routine: Label_E56B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E56B: + jsr $E46E ; CPU:$E56B PRG:256B 20 6E E4 + lda Zp88 ; CPU:$E56E PRG:256E A5 88 + bne Label_E5AB ; CPU:$E570 PRG:2570 D0 39 + lda #$01 ; CPU:$E572 PRG:2572 A9 01 + bit Zp00 ; CPU:$E574 PRG:2574 24 00 + bne Label_E582 ; CPU:$E576 PRG:2576 D0 0A + lda #$02 ; CPU:$E578 PRG:2578 A9 02 + bit Zp00 ; CPU:$E57A PRG:257A 24 00 + beq Label_E5AB ; CPU:$E57C PRG:257C F0 2D + lda #$00 ; CPU:$E57E PRG:257E A9 00 + sta Zp3A ; CPU:$E580 PRG:2580 85 3A +; ----------------------------------------------------------------------------- +; Routine: Label_E582 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E582: + ldx #$03 ; CPU:$E582 PRG:2582 A2 03 + lda Zp89 ; CPU:$E584 PRG:2584 A5 89 + eor Zp00 ; CPU:$E586 PRG:2586 45 00 + and #$01 ; CPU:$E588 PRG:2588 29 01 + bne Label_E594 ; CPU:$E58A PRG:258A D0 08 + txa ; CPU:$E58C PRG:258C 8A + eor #$FF ; CPU:$E58D PRG:258D 49 FF + clc ; CPU:$E58F PRG:258F 18 + adc #$01 ; CPU:$E590 PRG:2590 69 01 + bne Label_E595 ; CPU:$E592 PRG:2592 D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_E594 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E594: + txa ; CPU:$E594 PRG:2594 8A +; ----------------------------------------------------------------------------- +; Routine: Label_E595 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E595: + clc ; CPU:$E595 PRG:2595 18 + adc Zp33 ; CPU:$E596 PRG:2596 65 33 + sta Zp33 ; CPU:$E598 PRG:2598 85 33 + lda #$7B ; CPU:$E59A PRG:259A A9 7B + sta Zp32 ; CPU:$E59C PRG:259C 85 32 + lda #$01 ; CPU:$E59E PRG:259E A9 01 + sta Zp8B ; CPU:$E5A0 PRG:25A0 85 8B + lda Zp35 ; CPU:$E5A2 PRG:25A2 A5 35 + cmp #$00 ; CPU:$E5A4 PRG:25A4 C9 00 + bne Label_E5AB ; CPU:$E5A6 PRG:25A6 D0 03 + jsr $E7AB ; CPU:$E5A8 PRG:25A8 20 AB E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E5AB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5AB: + rts ; CPU:$E5AB PRG:25AB 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5AC: + lda Zp30 ; CPU:$E5AC PRG:25AC A5 30 + beq Label_E5E4 ; CPU:$E5AE PRG:25AE F0 34 + lda Zp36 ; CPU:$E5B0 PRG:25B0 A5 36 + sta ZpB4 ; CPU:$E5B2 PRG:25B2 85 B4 + lda Zp35 ; CPU:$E5B4 PRG:25B4 A5 35 + asl a ; CPU:$E5B6 PRG:25B6 0A + tay ; CPU:$E5B7 PRG:25B7 A8 + lda #$13 ; CPU:$E5B8 PRG:25B8 A9 13 + sta Zp12 ; CPU:$E5BA PRG:25BA 85 12 + lda #$E8 ; CPU:$E5BC PRG:25BC A9 E8 + sta Zp13 ; CPU:$E5BE PRG:25BE 85 13 + lda (Zp12),y ; CPU:$E5C0 PRG:25C0 B1 12 + sta Zp10 ; CPU:$E5C2 PRG:25C2 85 10 + iny ; CPU:$E5C4 PRG:25C4 C8 + lda (Zp12),y ; CPU:$E5C5 PRG:25C5 B1 12 + sta Zp11 ; CPU:$E5C7 PRG:25C7 85 11 + ldy #$00 ; CPU:$E5C9 PRG:25C9 A0 00 + sty Zp1A ; CPU:$E5CB PRG:25CB 84 1A +; ----------------------------------------------------------------------------- +; Routine: Label_E5CD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5CD: + ldy Zp1A ; CPU:$E5CD PRG:25CD A4 1A + lda (Zp10),y ; CPU:$E5CF PRG:25CF B1 10 + cmp #$00 ; CPU:$E5D1 PRG:25D1 C9 00 + bne Label_E5E5 ; CPU:$E5D3 PRG:25D3 D0 10 + ldx ZpB4 ; CPU:$E5D5 PRG:25D5 A6 B4 + lda #$F4 ; CPU:$E5D7 PRG:25D7 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: Label_E5D9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5D9: + cpx Zp37 ; CPU:$E5D9 PRG:25D9 E4 37 + beq Label_E5E4 ; CPU:$E5DB PRG:25DB F0 07 + sta $0200,x ; CPU:$E5DD PRG:25DD 9D 00 02 + inx ; CPU:$E5E0 PRG:25E0 E8 + jmp $E5D9 ; CPU:$E5E1 PRG:25E1 4C D9 E5 +; ----------------------------------------------------------------------------- +; Routine: Label_E5E4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5E4: + rts ; CPU:$E5E4 PRG:25E4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E5E5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5E5: + sta Zp13 ; CPU:$E5E5 PRG:25E5 85 13 + iny ; CPU:$E5E7 PRG:25E7 C8 + lda (Zp10),y ; CPU:$E5E8 PRG:25E8 B1 10 + iny ; CPU:$E5EA PRG:25EA C8 + sta Zp12 ; CPU:$E5EB PRG:25EB 85 12 + lda (Zp10),y ; CPU:$E5ED PRG:25ED B1 10 + iny ; CPU:$E5EF PRG:25EF C8 + jsr $E6CE ; CPU:$E5F0 PRG:25F0 20 CE E6 + bcc Label_E5FB ; CPU:$E5F3 PRG:25F3 90 06 + jsr $E6FA ; CPU:$E5F5 PRG:25F5 20 FA E6 + sec ; CPU:$E5F8 PRG:25F8 38 + sbc #$08 ; CPU:$E5F9 PRG:25F9 E9 08 +; ----------------------------------------------------------------------------- +; Routine: Label_E5FB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5FB: + clc ; CPU:$E5FB PRG:25FB 18 + adc Zp32 ; CPU:$E5FC PRG:25FC 65 32 + sta ZpB1 ; CPU:$E5FE PRG:25FE 85 B1 + lda (Zp10),y ; CPU:$E600 PRG:2600 B1 10 + iny ; CPU:$E602 PRG:2602 C8 + jsr $E6D4 ; CPU:$E603 PRG:2603 20 D4 E6 + bne Label_E60E ; CPU:$E606 PRG:2606 D0 06 + jsr $E6FA ; CPU:$E608 PRG:2608 20 FA E6 + sec ; CPU:$E60B PRG:260B 38 + sbc #$08 ; CPU:$E60C PRG:260C E9 08 +; ----------------------------------------------------------------------------- +; Routine: Label_E60E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E60E: + clc ; CPU:$E60E PRG:260E 18 + adc Zp33 ; CPU:$E60F PRG:260F 65 33 + sta ZpB2 ; CPU:$E611 PRG:2611 85 B2 + sty Zp1A ; CPU:$E613 PRG:2613 84 1A + ldy #$00 ; CPU:$E615 PRG:2615 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E617 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E617: + lda (Zp12),y ; CPU:$E617 PRG:2617 B1 12 + ldx #$00 ; CPU:$E619 PRG:2619 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E61B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E61B: + cmp #$00 ; CPU:$E61B PRG:261B C9 00 + beq Label_E62D ; CPU:$E61D PRG:261D F0 0E + ldx #$14 ; CPU:$E61F PRG:261F A2 14 + cmp #$01 ; CPU:$E621 PRG:2621 C9 01 + beq Label_E62D ; CPU:$E623 PRG:2623 F0 08 + ldx #$32 ; CPU:$E625 PRG:2625 A2 32 + cmp #$02 ; CPU:$E627 PRG:2627 C9 02 + beq Label_E62D ; CPU:$E629 PRG:2629 F0 02 + ldx #$5A ; CPU:$E62B PRG:262B A2 5A +; ----------------------------------------------------------------------------- +; Routine: Label_E62D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E62D: + stx Zp1B ; CPU:$E62D PRG:262D 86 1B +; ----------------------------------------------------------------------------- +; Routine: Label_E62F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E62F: + iny ; CPU:$E62F PRG:262F C8 +; ----------------------------------------------------------------------------- +; Routine: Label_E630 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E630: + lda (Zp12),y ; CPU:$E630 PRG:2630 B1 12 + cmp #$FF ; CPU:$E632 PRG:2632 C9 FF + beq Label_E5CD ; CPU:$E634 PRG:2634 F0 97 + cmp #$FE ; CPU:$E636 PRG:2636 C9 FE + bne Label_E641 ; CPU:$E638 PRG:2638 D0 07 + inc Zp1B ; CPU:$E63A PRG:263A E6 1B + inc Zp1B ; CPU:$E63C PRG:263C E6 1B + jmp $E62F ; CPU:$E63E PRG:263E 4C 2F E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E641 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E641: + cmp #$FD ; CPU:$E641 PRG:2641 C9 FD + bne Label_E65A ; CPU:$E643 PRG:2643 D0 15 + iny ; CPU:$E645 PRG:2645 C8 + lda (Zp12),y ; CPU:$E646 PRG:2646 B1 12 + clc ; CPU:$E648 PRG:2648 18 + adc Zp3C ; CPU:$E649 PRG:2649 65 3C + sta ZpB3 ; CPU:$E64B PRG:264B 85 B3 + lda Zp38 ; CPU:$E64D PRG:264D A5 38 + beq Label_E62F ; CPU:$E64F PRG:264F F0 DE + lda ZpB3 ; CPU:$E651 PRG:2651 A5 B3 + ora #$20 ; CPU:$E653 PRG:2653 09 20 + sta ZpB3 ; CPU:$E655 PRG:2655 85 B3 + jmp $E62F ; CPU:$E657 PRG:2657 4C 2F E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E65A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E65A: + ldx Zp1B ; CPU:$E65A PRG:265A A6 1B + lda $E8E5,x ; CPU:$E65C PRG:265C BD E5 E8 + inc Zp1B ; CPU:$E65F PRG:265F E6 1B + jsr $E6CE ; CPU:$E661 PRG:2661 20 CE E6 + bcc Label_E669 ; CPU:$E664 PRG:2664 90 03 + jsr $E6FA ; CPU:$E666 PRG:2666 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E669 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E669: + clc ; CPU:$E669 PRG:2669 18 + adc ZpB1 ; CPU:$E66A PRG:266A 65 B1 + jsr $E6DD ; CPU:$E66C PRG:266C 20 DD E6 + ldx ZpB4 ; CPU:$E66F PRG:266F A6 B4 + sta $0200,x ; CPU:$E671 PRG:2671 9D 00 02 + inc ZpB4 ; CPU:$E674 PRG:2674 E6 B4 + lda (Zp12),y ; CPU:$E676 PRG:2676 B1 12 + iny ; CPU:$E678 PRG:2678 C8 + ldx ZpB4 ; CPU:$E679 PRG:2679 A6 B4 + sta $0200,x ; CPU:$E67B PRG:267B 9D 00 02 + inc ZpB4 ; CPU:$E67E PRG:267E E6 B4 + lda ZpB3 ; CPU:$E680 PRG:2680 A5 B3 + ldx Zp34 ; CPU:$E682 PRG:2682 A6 34 + beq Label_E6A8 ; CPU:$E684 PRG:2684 F0 22 + pha ; CPU:$E686 PRG:2686 48 + lda #$BF ; CPU:$E687 PRG:2687 A9 BF + cpx #$08 ; CPU:$E689 PRG:2689 E0 08 + beq Label_E695 ; CPU:$E68B PRG:268B F0 08 + lda #$7F ; CPU:$E68D PRG:268D A9 7F + cpx #$80 ; CPU:$E68F PRG:268F E0 80 + beq Label_E695 ; CPU:$E691 PRG:2691 F0 02 + lda #$3F ; CPU:$E693 PRG:2693 A9 3F +; ----------------------------------------------------------------------------- +; Routine: Label_E695 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E695: + sta Zp00 ; CPU:$E695 PRG:2695 85 00 + eor #$FF ; CPU:$E697 PRG:2697 49 FF + sta Zp01 ; CPU:$E699 PRG:2699 85 01 + pla ; CPU:$E69B PRG:269B 68 + and Zp00 ; CPU:$E69C PRG:269C 25 00 + sta Zp0C ; CPU:$E69E PRG:269E 85 0C + lda ZpB3 ; CPU:$E6A0 PRG:26A0 A5 B3 + and Zp01 ; CPU:$E6A2 PRG:26A2 25 01 + eor Zp01 ; CPU:$E6A4 PRG:26A4 45 01 + ora Zp0C ; CPU:$E6A6 PRG:26A6 05 0C +; ----------------------------------------------------------------------------- +; Routine: Label_E6A8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6A8: + ldx ZpB4 ; CPU:$E6A8 PRG:26A8 A6 B4 + sta $0200,x ; CPU:$E6AA PRG:26AA 9D 00 02 + inc ZpB4 ; CPU:$E6AD PRG:26AD E6 B4 + ldx Zp1B ; CPU:$E6AF PRG:26AF A6 1B + lda $E8E5,x ; CPU:$E6B1 PRG:26B1 BD E5 E8 + inc Zp1B ; CPU:$E6B4 PRG:26B4 E6 1B + jsr $E6D4 ; CPU:$E6B6 PRG:26B6 20 D4 E6 + bne Label_E6BE ; CPU:$E6B9 PRG:26B9 D0 03 + jsr $E6FA ; CPU:$E6BB PRG:26BB 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E6BE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6BE: + clc ; CPU:$E6BE PRG:26BE 18 + adc ZpB2 ; CPU:$E6BF PRG:26BF 65 B2 + jsr $E6E3 ; CPU:$E6C1 PRG:26C1 20 E3 E6 + ldx ZpB4 ; CPU:$E6C4 PRG:26C4 A6 B4 + sta $0200,x ; CPU:$E6C6 PRG:26C6 9D 00 02 + inc ZpB4 ; CPU:$E6C9 PRG:26C9 E6 B4 + jmp $E630 ; CPU:$E6CB PRG:26CB 4C 30 E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E6CE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6CE: + pha ; CPU:$E6CE PRG:26CE 48 + lda Zp34 ; CPU:$E6CF PRG:26CF A5 34 + rol a ; CPU:$E6D1 PRG:26D1 2A + pla ; CPU:$E6D2 PRG:26D2 68 + rts ; CPU:$E6D3 PRG:26D3 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E6D4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6D4: + pha ; CPU:$E6D4 PRG:26D4 48 + lda Zp34 ; CPU:$E6D5 PRG:26D5 A5 34 + asl a ; CPU:$E6D7 PRG:26D7 0A + tax ; CPU:$E6D8 PRG:26D8 AA + pla ; CPU:$E6D9 PRG:26D9 68 + cpx #$10 ; CPU:$E6DA PRG:26DA E0 10 + rts ; CPU:$E6DC PRG:26DC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E6DD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6DD: + pha ; CPU:$E6DD PRG:26DD 48 + lda Zp32 ; CPU:$E6DE PRG:26DE A5 32 + jmp $E6E6 ; CPU:$E6E0 PRG:26E0 4C E6 E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E6E3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6E3: + pha ; CPU:$E6E3 PRG:26E3 48 + lda Zp33 ; CPU:$E6E4 PRG:26E4 A5 33 +; ----------------------------------------------------------------------------- +; Routine: Label_E6E6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6E6: + sta Zp0F ; CPU:$E6E6 PRG:26E6 85 0F + pla ; CPU:$E6E8 PRG:26E8 68 + pha ; CPU:$E6E9 PRG:26E9 48 + sec ; CPU:$E6EA PRG:26EA 38 + sbc Zp0F ; CPU:$E6EB PRG:26EB E5 0F + bcs Label_E6F2 ; CPU:$E6ED PRG:26ED B0 03 + jsr $E6FA ; CPU:$E6EF PRG:26EF 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E6F2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6F2: + cmp #$30 ; CPU:$E6F2 PRG:26F2 C9 30 + pla ; CPU:$E6F4 PRG:26F4 68 + bcc Label_E6F9 ; CPU:$E6F5 PRG:26F5 90 02 + lda #$FF ; CPU:$E6F7 PRG:26F7 A9 FF +; ----------------------------------------------------------------------------- +; Routine: Label_E6F9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6F9: + rts ; CPU:$E6F9 PRG:26F9 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E6FA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6FA: + eor #$FF ; CPU:$E6FA PRG:26FA 49 FF + clc ; CPU:$E6FC PRG:26FC 18 + adc #$01 ; CPU:$E6FD PRG:26FD 69 01 + rts ; CPU:$E6FF PRG:26FF 60 +; ---- data $E700-$E70B (12 bytes) ---- + .byte $B9, $32, $03, $85, $B1, $B9, $33, $03, $85, $B2, $85, $0C ; CPU:$E700 PRG:2700 B9 32 03 85 B1 B9 33 03 85 B2 85 0C +; ----------------------------------------------------------------------------- +; Routine: Label_E70C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E70C: + pha ; CPU:$E70C PRG:270C 48 + jsr $D012 ; CPU:$E70D PRG:270D 20 12 D0 + jsr $C000 ; CPU:$E710 PRG:2710 20 00 C0 + pla ; CPU:$E713 PRG:2713 68 + sta Zp1B ; CPU:$E714 PRG:2714 85 1B + beq Label_E764 ; CPU:$E716 PRG:2716 F0 4C + asl a ; CPU:$E718 PRG:2718 0A + tax ; CPU:$E719 PRG:2719 AA + lda $F949,x ; CPU:$E71A PRG:271A BD 49 F9 + sta Zp14 ; CPU:$E71D PRG:271D 85 14 + lda $F94A,x ; CPU:$E71F PRG:271F BD 4A F9 + sta Zp15 ; CPU:$E722 PRG:2722 85 15 + ldy #$01 ; CPU:$E724 PRG:2724 A0 01 + lda (Zp14),y ; CPU:$E726 PRG:2726 B1 14 + sta Zp0F ; CPU:$E728 PRG:2728 85 0F + ldx #$00 ; CPU:$E72A PRG:272A A2 00 + iny ; CPU:$E72C PRG:272C C8 +; ----------------------------------------------------------------------------- +; Routine: Label_E72D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E72D: + lda (Zp14),y ; CPU:$E72D PRG:272D B1 14 + sta $0500,x ; CPU:$E72F PRG:272F 9D 00 05 + iny ; CPU:$E732 PRG:2732 C8 + inx ; CPU:$E733 PRG:2733 E8 + dec Zp0F ; CPU:$E734 PRG:2734 C6 0F + bne Label_E72D ; CPU:$E736 PRG:2736 D0 F5 + lda Zp1B ; CPU:$E738 PRG:2738 A5 1B + cmp #$01 ; CPU:$E73A PRG:273A C9 01 + bne Label_E753 ; CPU:$E73C PRG:273C D0 15 + lda ZpC1 ; CPU:$E73E PRG:273E A5 C1 + lsr a ; CPU:$E740 PRG:2740 4A + lsr a ; CPU:$E741 PRG:2741 4A + lsr a ; CPU:$E742 PRG:2742 4A + lsr a ; CPU:$E743 PRG:2743 4A + beq Label_E749 ; CPU:$E744 PRG:2744 F0 03 + sta $0518 ; CPU:$E746 PRG:2746 8D 18 05 +; ----------------------------------------------------------------------------- +; Routine: Label_E749 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E749: + lda ZpC1 ; CPU:$E749 PRG:2749 A5 C1 + and #$0F ; CPU:$E74B PRG:274B 29 0F + sta $0519 ; CPU:$E74D PRG:274D 8D 19 05 + jmp $E777 ; CPU:$E750 PRG:2750 4C 77 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E753 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E753: + cmp #$05 ; CPU:$E753 PRG:2753 C9 05 + bne Label_E777 ; CPU:$E755 PRG:2755 D0 20 + lda Zp0C ; CPU:$E757 PRG:2757 A5 0C + sta $0521 ; CPU:$E759 PRG:2759 8D 21 05 + lda Zp0D ; CPU:$E75C PRG:275C A5 0D + sta $0522 ; CPU:$E75E PRG:275E 8D 22 05 + jmp $E777 ; CPU:$E761 PRG:2761 4C 77 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E764 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E764: + ldx #$07 ; CPU:$E764 PRG:2764 A2 07 + lda #$32 ; CPU:$E766 PRG:2766 A9 32 +; ----------------------------------------------------------------------------- +; Routine: Label_E768 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E768: + sta $0501,x ; CPU:$E768 PRG:2768 9D 01 05 + dex ; CPU:$E76B PRG:276B CA + bpl Label_E768 ; CPU:$E76C PRG:276C 10 FA + lda #$17 ; CPU:$E76E PRG:276E A9 17 + sta $0500 ; CPU:$E770 PRG:2770 8D 00 05 + ldx #$6D ; CPU:$E773 PRG:2773 A2 6D + bne Label_E77C ; CPU:$E775 PRG:2775 D0 05 +; ----------------------------------------------------------------------------- +; Routine: Label_E777 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E777: + ldy #$00 ; CPU:$E777 PRG:2777 A0 00 + lda (Zp14),y ; CPU:$E779 PRG:2779 B1 14 + tax ; CPU:$E77B PRG:277B AA +; ----------------------------------------------------------------------------- +; Routine: Label_E77C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E77C: + ldy #$22 ; CPU:$E77C PRG:277C A0 22 + stx Zp07 ; CPU:$E77E PRG:277E 86 07 + jsr $D08E ; CPU:$E780 PRG:2780 20 8E D0 + ldx Zp07 ; CPU:$E783 PRG:2783 A6 07 + ldy #$26 ; CPU:$E785 PRG:2785 A0 26 + jmp $D08E ; CPU:$E787 PRG:2787 4C 8E D0 +; ---- data $E78A-$E792 (9 bytes) ---- + .byte $20, $77, $CC, $20, $84, $D0, $4C, $70, $D0 ; CPU:$E78A PRG:278A 20 77 CC 20 84 D0 4C 70 D0 +; ----------------------------------------------------------------------------- +; Routine: Label_E793 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E793: + lda #$01 ; CPU:$E793 PRG:2793 A9 01 + bne Label_E7B1 ; CPU:$E795 PRG:2795 D0 1A + lda #$80 ; CPU:$E797 PRG:2797 A9 80 + bne Label_E7B1 ; CPU:$E799 PRG:2799 D0 16 + lda #$40 ; CPU:$E79B PRG:279B A9 40 + bne Label_E7B1 ; CPU:$E79D PRG:279D D0 12 + lda #$20 ; CPU:$E79F PRG:279F A9 20 + bne Label_E7B1 ; CPU:$E7A1 PRG:27A1 D0 0E + lda #$10 ; CPU:$E7A3 PRG:27A3 A9 10 + bne Label_E7B1 ; CPU:$E7A5 PRG:27A5 D0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_E7A7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7A7: + lda #$08 ; CPU:$E7A7 PRG:27A7 A9 08 + bne Label_E7B1 ; CPU:$E7A9 PRG:27A9 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_E7AB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7AB: + lda #$04 ; CPU:$E7AB PRG:27AB A9 04 + bne Label_E7B1 ; CPU:$E7AD PRG:27AD D0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E7AF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7AF: + lda #$02 ; CPU:$E7AF PRG:27AF A9 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E7B1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7B1: + ora ZpF0 ; CPU:$E7B1 PRG:27B1 05 F0 + sta ZpF0 ; CPU:$E7B3 PRG:27B3 85 F0 + rts ; CPU:$E7B5 PRG:27B5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E7B6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7B6: + lda #$08 ; CPU:$E7B6 PRG:27B6 A9 08 + bne Label_E7D6 ; CPU:$E7B8 PRG:27B8 D0 1C + lda #$01 ; CPU:$E7BA PRG:27BA A9 01 + bne Label_E7D6 ; CPU:$E7BC PRG:27BC D0 18 +; ----------------------------------------------------------------------------- +; Routine: Label_E7BE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7BE: + lda #$04 ; CPU:$E7BE PRG:27BE A9 04 + bne Label_E7D6 ; CPU:$E7C0 PRG:27C0 D0 14 + lda #$10 ; CPU:$E7C2 PRG:27C2 A9 10 + bne Label_E7D6 ; CPU:$E7C4 PRG:27C4 D0 10 +; ----------------------------------------------------------------------------- +; Routine: Label_E7C6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7C6: + lda #$80 ; CPU:$E7C6 PRG:27C6 A9 80 + bne Label_E7D6 ; CPU:$E7C8 PRG:27C8 D0 0C + lda #$40 ; CPU:$E7CA PRG:27CA A9 40 + bne Label_E7D6 ; CPU:$E7CC PRG:27CC D0 08 + lda #$20 ; CPU:$E7CE PRG:27CE A9 20 + bne Label_E7D6 ; CPU:$E7D0 PRG:27D0 D0 04 + lda #$02 ; CPU:$E7D2 PRG:27D2 A9 02 + bne Label_E7D6 ; CPU:$E7D4 PRG:27D4 D0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E7D6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7D6: + ora ZpF1 ; CPU:$E7D6 PRG:27D6 05 F1 + sta ZpF1 ; CPU:$E7D8 PRG:27D8 85 F1 + rts ; CPU:$E7DA PRG:27DA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E7DB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7DB: + lda #$01 ; CPU:$E7DB PRG:27DB A9 01 + bne Label_E7F9 ; CPU:$E7DD PRG:27DD D0 1A + lda #$10 ; CPU:$E7DF PRG:27DF A9 10 + bne Label_E7F9 ; CPU:$E7E1 PRG:27E1 D0 16 + lda #$20 ; CPU:$E7E3 PRG:27E3 A9 20 + bne Label_E7F9 ; CPU:$E7E5 PRG:27E5 D0 12 + lda #$08 ; CPU:$E7E7 PRG:27E7 A9 08 + bne Label_E7F9 ; CPU:$E7E9 PRG:27E9 D0 0E + lda #$04 ; CPU:$E7EB PRG:27EB A9 04 + bne Label_E7F9 ; CPU:$E7ED PRG:27ED D0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_E7EF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7EF: + lda #$02 ; CPU:$E7EF PRG:27EF A9 02 + bne Label_E7F9 ; CPU:$E7F1 PRG:27F1 D0 06 + lda #$40 ; CPU:$E7F3 PRG:27F3 A9 40 + bne Label_E7F9 ; CPU:$E7F5 PRG:27F5 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E7F7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7F7: + lda #$80 ; CPU:$E7F7 PRG:27F7 A9 80 +; ----------------------------------------------------------------------------- +; Routine: Label_E7F9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7F9: + ora ZpF2 ; CPU:$E7F9 PRG:27F9 05 F2 + sta ZpF2 ; CPU:$E7FB PRG:27FB 85 F2 + rts ; CPU:$E7FD PRG:27FD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E7FE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7FE: + lda ZpA3 ; CPU:$E7FE PRG:27FE A5 A3 + bne Label_E80B ; CPU:$E800 PRG:2800 D0 09 + lda ZpE6 ; CPU:$E802 PRG:2802 A5 E6 + bne Label_E80B ; CPU:$E804 PRG:2804 D0 05 + inc ZpA3 ; CPU:$E806 PRG:2806 E6 A3 + jmp $E7F7 ; CPU:$E808 PRG:2808 4C F7 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E80B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E80B: + rts ; CPU:$E80B PRG:280B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E80C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E80C: + lda #$00 ; CPU:$E80C PRG:280C A9 00 + sta ZpA3 ; CPU:$E80E PRG:280E 85 A3 + jmp $E7BE ; CPU:$E810 PRG:2810 4C BE E7 +; ---- data $E813-$FFFF (6125 bytes) ---- +; referenced by `lda $F68A,x` at $CA5E (operand $F68A falls inside this region) +; referenced by `lda $F5B2,y` at $CC8D (operand $F5B2 falls inside this region) +; referenced by `ldx $F5B3,y` at $CC90 (operand $F5B3 falls inside this region) +; referenced by `lda $F771,x` at $D178 (operand $F771 falls inside this region) +; referenced by `ldy $F772,x` at $D17B (operand $F772 falls inside this region) +; referenced by `lda $F940,y` at $DBAA (operand $F940 falls inside this region) +; ... and 13 further references from decoded code + .byte $4F, $E8, $54, $E8, $59, $E8, $5E, $E8, $63, $E8, $68, $E8, $6D, $E8, $72, $E8 ; CPU:$E813 PRG:2813 4F E8 54 E8 59 E8 5E E8 63 E8 68 E8 6D E8 72 E8 + .byte $77, $E8, $7C, $E8, $81, $E8, $86, $E8, $8B, $E8, $90, $E8, $95, $E8, $9A, $E8 ; CPU:$E823 PRG:2823 77 E8 7C E8 81 E8 86 E8 8B E8 90 E8 95 E8 9A E8 + .byte $9F, $E8, $A4, $E8, $DB, $E8, $E0, $E8, $A9, $E8, $AE, $E8, $B3, $E8, $B8, $E8 ; CPU:$E833 PRG:2833 9F E8 A4 E8 DB E8 E0 E8 A9 E8 AE E8 B3 E8 B8 E8 + .byte $BD, $E8, $C2, $E8, $C7, $E8, $CC, $E8, $D1, $E8, $D6, $E8, $E9, $57, $F2, $F8 ; CPU:$E843 PRG:2843 BD E8 C2 E8 C7 E8 CC E8 D1 E8 D6 E8 E9 57 F2 F8 + .byte $00, $E9, $6B, $F2, $F8, $00, $E9, $80, $F0, $F8, $00, $E9, $94, $F2, $F8, $00 ; CPU:$E853 PRG:2853 00 E9 6B F2 F8 00 E9 80 F0 F8 00 E9 94 F2 F8 00 + .byte $E9, $A8, $F0, $F8, $00, $E9, $B8, $F0, $F8, $00, $E9, $C8, $F0, $F8, $00, $E9 ; CPU:$E863 PRG:2863 E9 A8 F0 F8 00 E9 B8 F0 F8 00 E9 C8 F0 F8 00 E9 + .byte $D8, $F0, $F8, $00, $E9, $E8, $F0, $EC, $00, $EA, $02, $F0, $E8, $00, $EA, $1C ; CPU:$E873 PRG:2873 D8 F0 F8 00 E9 E8 F0 EC 00 EA 02 F0 E8 00 EA 1C + .byte $F0, $FD, $00, $EA, $31, $EE, $F8, $00, $EA, $4D, $F6, $F8, $00, $EA, $5F, $F0 ; CPU:$E883 PRG:2883 F0 FD 00 EA 31 EE F8 00 EA 4D F6 F8 00 EA 5F F0 + .byte $F8, $00, $EA, $81, $F3, $F8, $00, $EA, $9F, $F0, $FC, $00, $EA, $B3, $F0, $FC ; CPU:$E893 PRG:2893 F8 00 EA 81 F3 F8 00 EA 9F F0 FC 00 EA B3 F0 FC + .byte $00, $EA, $C7, $00, $06, $00, $EA, $DC, $FC, $F8, $00, $EA, $F5, $F2, $F4, $00 ; CPU:$E8A3 PRG:28A3 00 EA C7 00 06 00 EA DC FC F8 00 EA F5 F2 F4 00 + .byte $EB, $0A, $F1, $F8, $00, $EB, $1A, $F1, $F8, $00, $EB, $2A, $F0, $F0, $00, $EB ; CPU:$E8B3 PRG:28B3 EB 0A F1 F8 00 EB 1A F1 F8 00 EB 2A F0 F0 00 EB + .byte $44, $F0, $F0, $00, $EB, $5D, $F0, $F0, $00, $EB, $6D, $F2, $F4, $00, $EB, $82 ; CPU:$E8C3 PRG:28C3 44 F0 F0 00 EB 5D F0 F0 00 EB 6D F2 F4 00 EB 82 + .byte $F2, $F4, $00, $EB, $97, $F0, $F0, $00, $EB, $B0, $F4, $F8, $00, $EB, $BA, $F4 ; CPU:$E8D3 PRG:28D3 F2 F4 00 EB 97 F0 F0 00 EB B0 F4 F8 00 EB BA F4 + .byte $F8, $00, $00, $00, $00, $08, $08, $00, $08, $08, $10, $00, $10, $08, $18, $00 ; CPU:$E8E3 PRG:28E3 F8 00 00 00 00 08 08 00 08 08 10 00 10 08 18 00 + .byte $18, $08, $20, $00, $20, $08, $00, $00, $00, $08, $00, $10, $08, $00, $08, $08 ; CPU:$E8F3 PRG:28F3 18 08 20 00 20 08 00 00 00 08 00 10 08 00 08 08 + .byte $08, $10, $10, $00, $10, $08, $10, $10, $18, $00, $18, $08, $18, $10, $20, $00 ; CPU:$E903 PRG:2903 08 10 10 00 10 08 10 10 18 00 18 08 18 10 20 00 + .byte $20, $08, $20, $10, $00, $00, $00, $08, $00, $10, $00, $18, $08, $00, $08, $08 ; CPU:$E913 PRG:2913 20 08 20 10 00 00 00 08 00 10 00 18 08 00 08 08 + .byte $08, $10, $08, $18, $10, $00, $10, $08, $10, $10, $10, $18, $18, $00, $18, $08 ; CPU:$E923 PRG:2923 08 10 08 18 10 00 10 08 10 10 10 18 18 00 18 08 + .byte $18, $10, $18, $18, $20, $00, $20, $08, $20, $10, $20, $18, $00, $08, $00, $10 ; CPU:$E933 PRG:2933 18 10 18 18 20 00 20 08 20 10 20 18 00 08 00 10 + .byte $08, $08, $08, $10, $10, $08, $10, $10, $10, $00, $10, $18, $08, $00, $08, $18 ; CPU:$E943 PRG:2943 08 08 08 10 10 08 10 10 10 00 10 18 08 00 08 18 + .byte $00, $00, $00, $18, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91 ; CPU:$E953 PRG:2953 00 00 00 18 01 FD 00 05 00 FE 96 92 90 97 93 91 + .byte $FD, $02, $98, $94, $FE, $99, $95, $FF, $01, $FD, $00, $05, $00, $FE, $06, $01 ; CPU:$E963 PRG:2963 FD 02 98 94 FE 99 95 FF 01 FD 00 05 00 FE 06 01 + .byte $FE, $07, $02, $FE, $FD, $02, $8E, $8B, $87, $8F, $8C, $88, $FF, $01, $FD, $00 ; CPU:$E973 PRG:2973 FE 07 02 FE FD 02 8E 8B 87 8F 8C 88 FF 01 FD 00 + .byte $05, $00, $FE, $06, $89, $85, $8D, $8A, $86, $FD, $02, $11, $0C, $FE, $12, $0D ; CPU:$E983 PRG:2983 05 00 FE 06 89 85 8D 8A 86 FD 02 11 0C FE 12 0D + .byte $FF, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91, $FD, $02, $9C ; CPU:$E993 PRG:2993 FF 01 FD 00 05 00 FE 96 92 90 97 93 91 FD 02 9C + .byte $9A, $FE, $9D, $9B, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9A3 PRG:29A3 9A FE 9D 9B FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 + .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9B3 PRG:29B3 08 03 09 04 FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 + .byte $11, $0C, $12, $0D, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9C3 PRG:29C3 11 0C 12 0D FF 00 FD 00 05 00 06 01 07 02 FD 02 + .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9D3 PRG:29D3 08 03 09 04 FF 00 FD 00 05 00 06 01 07 02 FD 02 + .byte $11, $0C, $12, $0D, $FF, $02, $FD, $00, $1E, $1B, $16, $FE, $1F, $1C, $17, $FE ; CPU:$E9E3 PRG:29E3 11 0C 12 0D FF 02 FD 00 1E 1B 16 FE 1F 1C 17 FE + .byte $FE, $1D, $18, $13, $FD, $02, $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $02 ; CPU:$E9F3 PRG:29F3 FE 1D 18 13 FD 02 FE FE 19 14 FE FE 1A 15 FF 02 + .byte $FD, $00, $FE, $24, $21, $FE, $FE, $25, $22, $FE, $27, $26, $23, $13, $FD, $02 ; CPU:$EA03 PRG:2A03 FD 00 FE 24 21 FE FE 25 22 FE 27 26 23 13 FD 02 + .byte $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $01, $FD, $00, $FE, $36, $00, $FE ; CPU:$EA13 PRG:2A13 FE FE 19 14 FE FE 1A 15 FF 01 FD 00 FE 36 00 FE + .byte $37, $32, $FE, $38, $33, $FD, $02, $3B, $39, $34, $3C, $3A, $35, $FF, $02, $FD ; CPU:$EA23 PRG:2A23 37 32 FE 38 33 FD 02 3B 39 34 3C 3A 35 FF 02 FD + .byte $00, $FE, $FE, $3F, $3D, $FE, $43, $40, $3E, $FE, $44, $41, $FE, $FD, $02, $47 ; CPU:$EA33 PRG:2A33 00 FE FE 3F 3D FE 43 40 3E FE 44 41 FE FD 02 47 + .byte $45, $FD, $00, $42, $FE, $FD, $02, $48, $46, $FF, $01, $FD, $00, $51, $4D, $49 ; CPU:$EA43 PRG:2A43 45 FD 00 42 FE FD 02 48 46 FF 01 FD 00 51 4D 49 + .byte $52, $4E, $4A, $FD, $02, $FE, $4F, $4B, $FE, $50, $4C, $FF, $03, $FD, $02, $FE ; CPU:$EA53 PRG:2A53 52 4E 4A FD 02 FE 4F 4B FE 50 4C FF 03 FD 02 FE + .byte $6F, $FD, $00, $6B, $FE, $FD, $02, $FE, $70, $FD, $00, $6C, $68, $FD, $02, $72 ; CPU:$EA63 PRG:2A63 6F FD 00 6B FE FD 02 FE 70 FD 00 6C 68 FD 02 72 + .byte $71, $FD, $00, $6D, $69, $FD, $02, $73, $FE, $FD, $00, $6E, $6A, $FF, $02, $FD ; CPU:$EA73 PRG:2A73 71 FD 00 6D 69 FD 02 73 FE FD 00 6E 6A FF 02 FD + .byte $02, $FE, $76, $FE, $FE, $7A, $77, $FD, $00, $73, $70, $FD, $02, $FE, $78, $FD ; CPU:$EA83 PRG:2A83 02 FE 76 FE FE 7A 77 FD 00 73 70 FD 02 FE 78 FD + .byte $00, $74, $71, $FD, $02, $FE, $79, $FD, $00, $75, $72, $FF, $01, $FD, $00, $05 ; CPU:$EA93 PRG:2A93 00 74 71 FD 02 FE 79 FD 00 75 72 FF 01 FD 00 05 + .byte $00, $FE, $2E, $B3, $B2, $2F, $B4, $FE, $FD, $02, $30, $2C, $FE, $31, $2D, $FF ; CPU:$EAA3 PRG:2AA3 00 FE 2E B3 B2 2F B4 FE FD 02 30 2C FE 31 2D FF + .byte $01, $FD, $00, $05, $00, $FE, $2E, $2A, $28, $2F, $2B, $29, $FD, $02, $30, $2C ; CPU:$EAB3 PRG:2AB3 01 FD 00 05 00 FE 2E 2A 28 2F 2B 29 FD 02 30 2C + .byte $FE, $31, $2D, $FF, $01, $FD, $02, $62, $5F, $5C, $FD, $00, $63, $FD, $02, $60 ; CPU:$EAC3 PRG:2AC3 FE 31 2D FF 01 FD 02 62 5F 5C FD 00 63 FD 02 60 + .byte $5D, $FD, $00, $64, $61, $FD, $02, $5E, $FF, $02, $FD, $02, $FE, $80, $FD, $00 ; CPU:$EAD3 PRG:2AD3 5D FD 00 64 61 FD 02 5E FF 02 FD 02 FE 80 FD 00 + .byte $7D, $7B, $FD, $02, $83, $81, $FD, $00, $7E, $7C, $FD, $02, $84, $82, $FD, $00 ; CPU:$EAE3 PRG:2AE3 7D 7B FD 02 83 81 FD 00 7E 7C FD 02 84 82 FD 00 + .byte $7F, $FF, $01, $FD, $00, $A7, $A2, $FE, $A8, $A3, $9E, $A9, $A4, $9F, $FD, $02 ; CPU:$EAF3 PRG:2AF3 7F FF 01 FD 00 A7 A2 FE A8 A3 9E A9 A4 9F FD 02 + .byte $AA, $A5, $A0, $AB, $A6, $A1, $FF, $00, $FD, $00, $B9, $B6, $BA, $B7, $BB, $B8 ; CPU:$EB03 PRG:2B03 AA A5 A0 AB A6 A1 FF 00 FD 00 B9 B6 BA B7 BB B8 + .byte $FD, $02, $98, $94, $99, $95, $FF, $00, $FD, $00, $BF, $BC, $C0, $BD, $C1, $BE ; CPU:$EB13 PRG:2B13 FD 02 98 94 99 95 FF 00 FD 00 BF BC C0 BD C1 BE + .byte $FD, $02, $98, $94, $99, $95, $FF, $02, $FD, $00, $FE, $DB, $DE, $E3, $FE, $DC ; CPU:$EB23 PRG:2B23 FD 02 98 94 99 95 FF 02 FD 00 FE DB DE E3 FE DC + .byte $DF, $E4, $DA, $DD, $E0, $FD, $02, $E5, $FE, $FE, $E1, $E6, $FE, $FE, $E2, $E7 ; CPU:$EB33 PRG:2B33 DF E4 DA DD E0 FD 02 E5 FE FE E1 E6 FE FE E2 E7 + .byte $FF, $02, $FD, $00, $FE, $CE, $D3, $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9 ; CPU:$EB43 PRG:2B43 FF 02 FD 00 FE CE D3 FE CA CF D4 D8 CB D0 D5 D9 + .byte $FD, $02, $CC, $D1, $D6, $FE, $CD, $D2, $D7, $FF, $02, $FD, $00, $FE, $6B, $20 ; CPU:$EB53 PRG:2B53 FD 02 CC D1 D6 FE CD D2 D7 FF 02 FD 00 FE 6B 20 + .byte $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9, $FF, $01, $FD, $00, $B0, $AE, $AC ; CPU:$EB63 PRG:2B63 FE CA CF D4 D8 CB D0 D5 D9 FF 01 FD 00 B0 AE AC + .byte $B1, $AF, $AD, $A9, $A4, $9F, $FD, $02, $AA, $A5, $A0, $AB, $A6, $A1, $FF, $01 ; CPU:$EB73 PRG:2B73 B1 AF AD A9 A4 9F FD 02 AA A5 A0 AB A6 A1 FF 01 + .byte $FD, $00, $59, $56, $53, $5A, $57, $54, $FE, $58, $55, $FD, $02, $AA, $A5, $A0 ; CPU:$EB83 PRG:2B83 FD 00 59 56 53 5A 57 54 FE 58 55 FD 02 AA A5 A0 + .byte $AB, $A6, $A1, $FF, $02, $FD, $00, $FE, $6B, $20, $FE, $CA, $CF, $D4, $D8, $CB ; CPU:$EB93 PRG:2B93 AB A6 A1 FF 02 FD 00 FE 6B 20 FE CA CF D4 D8 CB + .byte $D0, $D5, $D9, $FD, $02, $FE, $C9, $D6, $FE, $FE, $48, $C8, $FF, $03, $FD, $00 ; CPU:$EBA3 PRG:2BA3 D0 D5 D9 FD 02 FE C9 D6 FE FE 48 C8 FF 03 FD 00 + .byte $65, $65, $66, $66, $67, $67, $FF, $03, $FD, $00, $68, $68, $69, $69, $6A, $6A ; CPU:$EBB3 PRG:2BB3 65 65 66 66 67 67 FF 03 FD 00 68 68 69 69 6A 6A + .byte $FF, $20, $00, $C6, $31, $20, $01, $45, $31, $20, $21, $C4, $31, $20, $22, $44 ; CPU:$EBC3 PRG:2BC3 FF 20 00 C6 31 20 01 45 31 20 21 C4 31 20 22 44 + .byte $31, $20, $42, $C3, $31, $20, $43, $43, $31, $20, $63, $C4, $31, $20, $65, $C3 ; CPU:$EBD3 PRG:2BD3 31 20 42 C3 31 20 43 43 31 20 63 C4 31 20 65 C3 + .byte $31, $20, $C0, $C3, $37, $20, $A1, $C4, $3E, $21, $20, $42, $32, $21, $40, $42 ; CPU:$EBE3 PRG:2BE3 31 20 C0 C3 37 20 A1 C4 3E 21 20 42 32 21 40 42 + .byte $36, $21, $60, $42, $34, $21, $80, $42, $36, $21, $A0, $42, $34, $21, $C0, $C4 ; CPU:$EBF3 PRG:2BF3 36 21 60 42 34 21 80 42 36 21 A0 42 34 21 C0 C4 + .byte $32, $21, $C1, $C4, $32, $20, $A2, $C3, $3E, $20, $E3, $02, $3E, $35, $21, $02 ; CPU:$EC03 PRG:2C03 32 21 C1 C4 32 20 A2 C3 3E 20 E3 02 3E 35 21 02 + .byte $43, $36, $21, $22, $43, $34, $21, $42, $42, $36, $21, $62, $42, $34, $21, $82 ; CPU:$EC13 PRG:2C13 43 36 21 22 43 34 21 42 42 36 21 62 42 34 21 82 + .byte $C6, $32, $21, $83, $C6, $32, $20, $64, $84, $43, $42, $37, $37, $21, $44, $02 ; CPU:$EC23 PRG:2C23 C6 32 21 83 C6 32 20 64 84 43 42 37 37 21 44 02 + .byte $32, $34, $21, $64, $87, $45, $47, $49, $4B, $4B, $4D, $4F, $21, $65, $87, $44 ; CPU:$EC33 PRG:2C33 32 34 21 64 87 45 47 49 4B 4B 4D 4F 21 65 87 44 + .byte $46, $48, $4A, $4A, $4C, $4E, $20, $C5, $C3, $3E, $21, $25, $01, $36, $20, $1A ; CPU:$EC43 PRG:2C43 46 48 4A 4A 4C 4E 20 C5 C3 3E 21 25 01 36 20 1A + .byte $C6, $31, $20, $1B, $45, $31, $20, $3B, $C2, $31, $20, $3C, $44, $31, $20, $5C ; CPU:$EC53 PRG:2C53 C6 31 20 1B 45 31 20 3B C2 31 20 3C 44 31 20 5C + .byte $C5, $31, $20, $5D, $43, $31, $20, $7D, $43, $31, $20, $9E, $C4, $31, $20, $9F ; CPU:$EC63 PRG:2C63 C5 31 20 5D 43 31 20 7D 43 31 20 9E C4 31 20 9F + .byte $C3, $31, $20, $7B, $85, $43, $42, $37, $37, $37, $20, $FC, $42, $3E, $20, $9D ; CPU:$EC73 PRG:2C73 C3 31 20 7B 85 43 42 37 37 37 20 FC 42 3E 20 9D + .byte $83, $43, $42, $37, $21, $1B, $43, $36, $21, $3B, $43, $34, $21, $5C, $42, $36 ; CPU:$EC83 PRG:2C83 83 43 42 37 21 1B 43 36 21 3B 43 34 21 5C 42 36 + .byte $21, $5B, $01, $32, $20, $DA, $C4, $38, $21, $5A, $88, $32, $45, $47, $49, $4B ; CPU:$EC93 PRG:2C93 21 5B 01 32 20 DA C4 38 21 5A 88 32 45 47 49 4B + .byte $4B, $4D, $4F, $21, $7B, $87, $44, $46, $48, $4A, $4A, $4C, $4E, $21, $7C, $42 ; CPU:$ECA3 PRG:2CA3 4B 4D 4F 21 7B 87 44 46 48 4A 4A 4C 4E 21 7C 42 + .byte $34, $21, $9C, $C6, $32, $21, $9D, $C6, $32, $21, $1E, $84, $3E, $36, $34, $36 ; CPU:$ECB3 PRG:2CB3 34 21 9C C6 32 21 9D C6 32 21 1E 84 3E 36 34 36 + .byte $21, $BE, $C5, $32, $21, $9E, $01, $34, $20, $FF, $87, $37, $37, $36, $34, $36 ; CPU:$ECC3 PRG:2CC3 21 BE C5 32 21 9E 01 34 20 FF 87 37 37 36 34 36 + .byte $34, $32, $21, $DF, $C4, $32, $20, $06, $01, $80, $20, $07, $53, $82, $20, $26 ; CPU:$ECD3 PRG:2CD3 34 32 21 DF C4 32 20 06 01 80 20 07 53 82 20 26 + .byte $14, $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$ECE3 PRG:2CE3 14 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 + .byte $82, $82, $82, $82, $84, $20, $46, $C5, $80, $20, $49, $C5, $82, $20, $4A, $C5 ; CPU:$ECF3 PRG:2CF3 82 82 82 82 84 20 46 C5 80 20 49 C5 82 20 4A C5 + .byte $82, $20, $4D, $C5, $82, $20, $4E, $C5, $82, $20, $51, $C5, $82, $20, $52, $C5 ; CPU:$ED03 PRG:2D03 82 20 4D C5 82 20 4E C5 82 20 51 C5 82 20 52 C5 + .byte $82, $20, $55, $C5, $82, $20, $56, $C5, $82, $20, $59, $C5, $84, $20, $E6, $08 ; CPU:$ED13 PRG:2D13 82 20 55 C5 82 20 56 C5 82 20 59 C5 84 20 E6 08 + .byte $86, $87, $87, $89, $86, $87, $87, $89, $20, $EE, $08, $86, $87, $87, $89, $86 ; CPU:$ED23 PRG:2D23 86 87 87 89 86 87 87 89 20 EE 08 86 87 87 89 86 + .byte $87, $87, $89, $20, $F6, $04, $86, $87, $87, $89, $21, $46, $54, $33, $22, $26 ; CPU:$ED33 PRG:2D33 87 87 89 20 F6 04 86 87 87 89 21 46 54 33 22 26 + .byte $54, $33, $21, $66, $C6, $33, $21, $87, $C4, $8B, $22, $07, $01, $8C, $22, $08 ; CPU:$ED43 PRG:2D43 54 33 21 66 C6 33 21 87 C4 8B 22 07 01 8C 22 08 + .byte $44, $8F, $21, $6D, $C6, $33, $21, $68, $44, $8D, $21, $6C, $01, $90, $21, $8C ; CPU:$ED53 PRG:2D53 44 8F 21 6D C6 33 21 68 44 8D 21 6C 01 90 21 8C + .byte $C4, $91, $22, $0C, $01, $92, $21, $4E, $04, $D6, $D7, $D7, $D8, $21, $6E, $04 ; CPU:$ED63 PRG:2D63 C4 91 22 0C 01 92 21 4E 04 D6 D7 D7 D8 21 6E 04 + .byte $93, $96, $93, $96, $21, $8E, $C4, $94, $22, $0E, $82, $95, $9B, $21, $8F, $86 ; CPU:$ED73 PRG:2D73 93 96 93 96 21 8E C4 94 22 0E 82 95 9B 21 8F 86 + .byte $97, $97, $98, $97, $99, $9C, $21, $90, $86, $94, $94, $9A, $94, $95, $9B, $21 ; CPU:$ED83 PRG:2D83 97 97 98 97 99 9C 21 90 86 94 94 9A 94 95 9B 21 + .byte $91, $C4, $97, $22, $11, $82, $99, $9C, $21, $72, $C6, $33, $21, $73, $01, $8A ; CPU:$ED93 PRG:2D93 91 C4 97 22 11 82 99 9C 21 72 C6 33 21 73 01 8A + .byte $21, $67, $01, $8A, $21, $74, $44, $8D, $21, $93, $C4, $8B, $22, $13, $01, $8C ; CPU:$EDA3 PRG:2DA3 21 67 01 8A 21 74 44 8D 21 93 C4 8B 22 13 01 8C + .byte $22, $14, $44, $8F, $21, $79, $C6, $33, $21, $78, $01, $90, $21, $98, $C4, $91 ; CPU:$EDB3 PRG:2DB3 22 14 44 8F 21 79 C6 33 21 78 01 90 21 98 C4 91 + .byte $22, $18, $01, $92, $21, $06, $54, $33, $21, $26, $54, $32, $21, $0B, $0A, $33 ; CPU:$EDC3 PRG:2DC3 22 18 01 92 21 06 54 33 21 26 54 32 21 0B 0A 33 + .byte $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $21, $46, $C8, $D2, $21, $4D, $C8 ; CPU:$EDD3 PRG:2DD3 FA F5 E8 EA F2 33 E9 E8 F9 21 46 C8 D2 21 4D C8 + .byte $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23, $C0, $20, $00, $CC, $FF, $FF ; CPU:$EDE3 PRG:2DE3 D2 21 52 C8 D2 21 59 C8 D2 23 C0 20 00 CC FF FF + .byte $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $88, $AA, $AA ; CPU:$EDF3 PRG:2DF3 FF FF 33 00 00 CC FF FF FF FF 33 00 00 88 AA AA + .byte $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $23, $E0, $08, $A0 ; CPU:$EE03 PRG:2E03 AA AA 22 00 00 88 AA AA AA AA 22 00 23 E0 08 A0 + .byte $A8, $AA, $AA, $AA, $AA, $A2, $A0, $24, $00, $C7, $31, $24, $01, $45, $31, $24 ; CPU:$EE13 PRG:2E13 A8 AA AA AA AA A2 A0 24 00 C7 31 24 01 45 31 24 + .byte $21, $C5, $31, $24, $22, $44, $31, $24, $42, $C6, $31, $24, $43, $43, $31, $24 ; CPU:$EE23 PRG:2E23 21 C5 31 24 22 44 31 24 42 C6 31 24 43 43 31 24 + .byte $63, $01, $31, $24, $64, $C6, $31, $24, $65, $C4, $31, $24, $E0, $83, $38, $36 ; CPU:$EE33 PRG:2E33 63 01 31 24 64 C6 31 24 65 C4 31 24 E0 83 38 36 + .byte $34, $25, $40, $C8, $32, $24, $C1, $86, $37, $37, $36, $34, $36, $34, $25, $81 ; CPU:$EE43 PRG:2E43 34 25 40 C8 32 24 C1 86 37 37 36 34 36 34 25 81 + .byte $C6, $32, $25, $02, $42, $3E, $25, $22, $42, $3E, $25, $42, $42, $36, $25, $62 ; CPU:$EE53 PRG:2E53 C6 32 25 02 42 3E 25 22 42 3E 25 42 42 36 25 62 + .byte $42, $34, $25, $82, $42, $36, $25, $A2, $42, $34, $25, $C2, $C4, $32, $25, $C3 ; CPU:$EE63 PRG:2E63 42 34 25 82 42 36 25 A2 42 34 25 C2 C4 32 25 C3 + .byte $C4, $32, $25, $24, $42, $36, $24, $C5, $C2, $37, $25, $44, $42, $34, $25, $64 ; CPU:$EE73 PRG:2E73 C4 32 25 24 42 36 24 C5 C2 37 25 44 42 34 25 64 + .byte $02, $DD, $DB, $25, $84, $02, $DE, $DC, $25, $A4, $C3, $4B, $25, $A5, $C3, $4A ; CPU:$EE83 PRG:2E83 02 DD DB 25 84 02 DE DC 25 A4 C3 4B 25 A5 C3 4A + .byte $26, $04, $02, $4D, $4C, $26, $24, $02, $4F, $4E, $24, $83, $83, $43, $42, $37 ; CPU:$EE93 PRG:2E93 26 04 02 4D 4C 26 24 02 4F 4E 24 83 83 43 42 37 + .byte $24, $1A, $C7, $31, $24, $1B, $45, $31, $24, $3B, $C5, $31, $24, $3C, $44, $31 ; CPU:$EEA3 PRG:2EA3 24 1A C7 31 24 1B 45 31 24 3B C5 31 24 3C 44 31 + .byte $24, $5C, $C4, $31, $24, $5D, $43, $31, $24, $7D, $C4, $31, $24, $7E, $42, $31 ; CPU:$EEB3 PRG:2EB3 24 5C C4 31 24 5D 43 31 24 7D C4 31 24 7E 42 31 + .byte $24, $FA, $C3, $37, $25, $5A, $83, $32, $DD, $DE, $25, $BA, $C3, $4B, $26, $1A ; CPU:$EEC3 PRG:2EC3 24 FA C3 37 25 5A 83 32 DD DE 25 BA C3 4B 26 1A + .byte $82, $4D, $4F, $24, $DB, $C5, $3E, $25, $7B, $82, $DB, $DC, $25, $BB, $C3, $4A ; CPU:$EED3 PRG:2ED3 82 4D 4F 24 DB C5 3E 25 7B 82 DB DC 25 BB C3 4A + .byte $26, $1B, $82, $4C, $4E, $24, $DC, $C4, $3E, $25, $5C, $43, $36, $25, $7C, $43 ; CPU:$EEE3 PRG:2EE3 26 1B 82 4C 4E 24 DC C4 3E 25 5C 43 36 25 7C 43 + .byte $34, $25, $9C, $43, $36, $25, $BC, $43, $34, $25, $DC, $C4, $32, $25, $DD, $C4 ; CPU:$EEF3 PRG:2EF3 34 25 9C 43 36 25 BC 43 34 25 DC C4 32 25 DD C4 + .byte $32, $24, $FD, $83, $39, $32, $3E, $25, $DE, $C4, $32, $24, $9E, $82, $43, $42 ; CPU:$EF03 PRG:2F03 32 24 FD 83 39 32 3E 25 DE C4 32 24 9E 82 43 42 + .byte $24, $9F, $C2, $31, $24, $DE, $C3, $37, $24, $DF, $C3, $3E, $25, $3F, $C9, $32 ; CPU:$EF13 PRG:2F13 24 9F C2 31 24 DE C3 37 24 DF C3 3E 25 3F C9 32 + .byte $25, $3E, $01, $35, $24, $E3, $01, $37, $25, $05, $01, $38, $25, $46, $C7, $80 ; CPU:$EF23 PRG:2F23 25 3E 01 35 24 E3 01 37 25 05 01 38 25 46 C7 80 + .byte $26, $26, $02, $81, $85, $25, $47, $C7, $84, $25, $48, $04, $8A, $8D, $8D, $90 ; CPU:$EF33 PRG:2F33 26 26 02 81 85 25 47 C7 84 25 48 04 8A 8D 8D 90 + .byte $25, $68, $C5, $8B, $26, $08, $04, $8C, $8F, $8F, $92, $26, $28, $44, $D3, $25 ; CPU:$EF43 PRG:2F43 25 68 C5 8B 26 08 04 8C 8F 8F 92 26 28 44 D3 25 + .byte $6B, $C5, $91, $25, $4C, $C7, $80, $26, $2C, $01, $81, $25, $4D, $C7, $84, $26 ; CPU:$EF53 PRG:2F53 6B C5 91 25 4C C7 80 26 2C 01 81 25 4D C7 84 26 + .byte $2D, $01, $85, $25, $4E, $44, $32, $25, $6E, $04, $93, $96, $93, $96, $25, $8E ; CPU:$EF63 PRG:2F63 2D 01 85 25 4E 44 32 25 6E 04 93 96 93 96 25 8E + .byte $C4, $94, $26, $0E, $04, $95, $99, $95, $99, $26, $2E, $04, $9B, $9C, $9B, $9C ; CPU:$EF73 PRG:2F73 C4 94 26 0E 04 95 99 95 99 26 2E 04 9B 9C 9B 9C + .byte $25, $8F, $C4, $97, $25, $90, $C4, $94, $25, $91, $C4, $97, $25, $CF, $02, $D9 ; CPU:$EF83 PRG:2F83 25 8F C4 97 25 90 C4 94 25 91 C4 97 25 CF 02 D9 + .byte $DA, $25, $52, $C7, $80, $25, $53, $C7, $84, $26, $32, $02, $81, $85, $25, $54 ; CPU:$EF93 PRG:2F93 DA 25 52 C7 80 25 53 C7 84 26 32 02 81 85 25 54 + .byte $04, $8A, $8D, $8D, $90, $25, $74, $C5, $8B, $26, $14, $04, $8C, $8F, $8F, $92 ; CPU:$EFA3 PRG:2FA3 04 8A 8D 8D 90 25 74 C5 8B 26 14 04 8C 8F 8F 92 + .byte $26, $34, $44, $D3, $25, $77, $C5, $91, $25, $58, $C7, $80, $25, $59, $C7, $84 ; CPU:$EFB3 PRG:2FB3 26 34 44 D3 25 77 C5 91 25 58 C7 80 25 59 C7 84 + .byte $26, $38, $02, $81, $85, $24, $06, $01, $80, $24, $07, $53, $82, $24, $26, $14 ; CPU:$EFC3 PRG:2FC3 26 38 02 81 85 24 06 01 80 24 07 53 82 24 26 14 + .byte $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$EFD3 PRG:2FD3 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 + .byte $82, $82, $82, $84, $24, $46, $C5, $80, $24, $49, $C5, $82, $24, $4A, $C5, $82 ; CPU:$EFE3 PRG:2FE3 82 82 82 84 24 46 C5 80 24 49 C5 82 24 4A C5 82 + .byte $24, $4D, $C5, $82, $24, $4E, $C5, $82, $24, $51, $C5, $82, $24, $52, $C5, $82 ; CPU:$EFF3 PRG:2FF3 24 4D C5 82 24 4E C5 82 24 51 C5 82 24 52 C5 82 + .byte $24, $55, $C5, $82, $24, $56, $C5, $82, $24, $59, $C5, $84, $24, $E6, $08, $86 ; CPU:$F003 PRG:3003 24 55 C5 82 24 56 C5 82 24 59 C5 84 24 E6 08 86 + .byte $87, $87, $89, $86, $87, $87, $89, $24, $EE, $08, $86, $87, $87, $89, $86, $87 ; CPU:$F013 PRG:3013 87 87 89 86 87 87 89 24 EE 08 86 87 87 89 86 87 + .byte $87, $89, $24, $F6, $04, $86, $87, $87, $89, $25, $06, $54, $33, $25, $26, $54 ; CPU:$F023 PRG:3023 87 89 24 F6 04 86 87 87 89 25 06 54 33 25 26 54 + .byte $32, $22, $45, $56, $A5, $22, $40, $45, $32, $22, $5B, $45, $32, $22, $60, $60 ; CPU:$F033 PRG:3033 32 22 45 56 A5 22 40 45 32 22 5B 45 32 22 60 60 + .byte $32, $22, $80, $60, $32, $26, $45, $56, $A5, $26, $40, $45, $32, $26, $5B, $45 ; CPU:$F043 PRG:3043 32 22 80 60 32 26 45 56 A5 26 40 45 32 26 5B 45 + .byte $32, $26, $60, $60, $32, $26, $80, $60, $32, $00, $22, $C2, $84, $C0, $C3, $C3 ; CPU:$F053 PRG:3053 32 26 60 60 32 26 80 60 32 00 22 C2 84 C0 C3 C3 + .byte $C4, $22, $C3, $5A, $BF, $22, $C9, $84, $BB, $BD, $BD, $BE, $22, $D6, $84, $C0 ; CPU:$F063 PRG:3063 C4 22 C3 5A BF 22 C9 84 BB BD BD BE 22 D6 84 C0 + .byte $C3, $C3, $C4, $22, $DD, $84, $BB, $BD, $BD, $BE, $22, $CD, $06, $E5, $E4, $E3 ; CPU:$F073 PRG:3073 C3 C3 C4 22 DD 84 BB BD BD BE 22 CD 06 E5 E4 E3 + .byte $E2, $E1, $E0, $23, $23, $46, $C2, $23, $37, $46, $C2, $23, $0C, $02, $C0, $BF ; CPU:$F083 PRG:3083 E2 E1 E0 23 23 46 C2 23 37 46 C2 23 0C 02 C0 BF + .byte $23, $2C, $01, $C3, $23, $4C, $82, $C3, $C4, $23, $6D, $46, $C2, $23, $12, $02 ; CPU:$F093 PRG:3093 23 2C 01 C3 23 4C 82 C3 C4 23 6D 46 C2 23 12 02 + .byte $BF, $BB, $23, $33, $01, $BD, $23, $53, $82, $BD, $BE, $23, $45, $03, $9E, $24 ; CPU:$F0A3 PRG:30A3 BF BB 23 33 01 BD 23 53 82 BD BE 23 45 03 9E 24 + .byte $03, $23, $59, $03, $9D, $24, $03, $23, $0E, $04, $1D, $12, $16, $0E, $26, $C2 ; CPU:$F0B3 PRG:30B3 03 23 59 03 9D 24 03 23 0E 04 1D 12 16 0E 26 C2 + .byte $84, $C0, $C3, $C3, $C4, $26, $C3, $5A, $BF, $26, $C9, $84, $BB, $BD, $BD, $BE ; CPU:$F0C3 PRG:30C3 84 C0 C3 C3 C4 26 C3 5A BF 26 C9 84 BB BD BD BE + .byte $26, $D6, $84, $C0, $C3, $C3, $C4, $26, $DD, $84, $BB, $BD, $BD, $BE, $26, $CD ; CPU:$F0D3 PRG:30D3 26 D6 84 C0 C3 C3 C4 26 DD 84 BB BD BD BE 26 CD + .byte $06, $E5, $E4, $E3, $E2, $E1, $E0, $27, $23, $46, $C2, $27, $37, $46, $C2, $27 ; CPU:$F0E3 PRG:30E3 06 E5 E4 E3 E2 E1 E0 27 23 46 C2 27 37 46 C2 27 + .byte $0C, $02, $C0, $BF, $27, $2C, $01, $C3, $27, $4C, $82, $C3, $C4, $27, $6D, $46 ; CPU:$F0F3 PRG:30F3 0C 02 C0 BF 27 2C 01 C3 27 4C 82 C3 C4 27 6D 46 + .byte $C2, $27, $12, $02, $BF, $BB, $27, $33, $01, $BD, $27, $53, $82, $BD, $BE, $27 ; CPU:$F103 PRG:3103 C2 27 12 02 BF BB 27 33 01 BD 27 53 82 BD BE 27 + .byte $45, $03, $9E, $24, $03, $27, $59, $03, $9D, $24, $03, $27, $0E, $04, $1D, $12 ; CPU:$F113 PRG:3113 45 03 9E 24 03 27 59 03 9D 24 03 27 0E 04 1D 12 + .byte $16, $0E, $23, $E8, $18, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5 ; CPU:$F123 PRG:3123 16 0E 23 E8 18 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 + .byte $FF, $FF, $A5, $A5, $A5, $55, $55, $55, $FF, $FF, $00, $00, $00, $27, $E8, $18 ; CPU:$F133 PRG:3133 FF FF A5 A5 A5 55 55 55 FF FF 00 00 00 27 E8 18 + .byte $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5, $FF, $FF, $A5, $A5, $A5 ; CPU:$F143 PRG:3143 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 FF FF A5 A5 A5 + .byte $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $22, $E2, $08, $C0, $E5, $E4, $E3 ; CPU:$F153 PRG:3153 55 55 55 FF FF 00 00 00 00 22 E2 08 C0 E5 E4 E3 + .byte $E2, $E1, $E0, $BB, $23, $02, $83, $C3, $C3, $C4, $23, $09, $83, $BD, $BD, $BE ; CPU:$F163 PRG:3163 E2 E1 E0 BB 23 02 83 C3 C3 C4 23 09 83 BD BD BE + .byte $23, $43, $46, $C2, $22, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $23 ; CPU:$F173 PRG:3173 23 43 46 C2 22 EC 08 C0 BF 1D 12 16 0E BF BB 23 + .byte $0C, $83, $C3, $C3, $C4, $23, $13, $83, $BD, $BD, $BE, $23, $4D, $46, $C2, $22 ; CPU:$F183 PRG:3183 0C 83 C3 C3 C4 23 13 83 BD BD BE 23 4D 46 C2 22 + .byte $D6, $06, $1B, $18, $1E, $17, $0D, $24, $23, $16, $05, $0C, $18, $16, $24, $03 ; CPU:$F193 PRG:3193 D6 06 1B 18 1E 17 0D 24 23 16 05 0C 18 16 24 03 + .byte $23, $36, $05, $22, $18, $1E, $24, $03, $26, $E2, $08, $C0, $E5, $E4, $E3, $E2 ; CPU:$F1A3 PRG:31A3 23 36 05 22 18 1E 24 03 26 E2 08 C0 E5 E4 E3 E2 + .byte $E1, $E0, $BB, $27, $02, $83, $C3, $C3, $C4, $27, $09, $83, $BD, $BD, $BE, $27 ; CPU:$F1B3 PRG:31B3 E1 E0 BB 27 02 83 C3 C3 C4 27 09 83 BD BD BE 27 + .byte $43, $46, $C2, $26, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $27, $0C ; CPU:$F1C3 PRG:31C3 43 46 C2 26 EC 08 C0 BF 1D 12 16 0E BF BB 27 0C + .byte $83, $C3, $C3, $C4, $27, $13, $83, $BD, $BD, $BE, $27, $4D, $46, $C2, $26, $D6 ; CPU:$F1D3 PRG:31D3 83 C3 C3 C4 27 13 83 BD BD BE 27 4D 46 C2 26 D6 + .byte $06, $1B, $18, $1E, $17, $0D, $24, $27, $16, $05, $0C, $18, $16, $24, $03, $27 ; CPU:$F1E3 PRG:31E3 06 1B 18 1E 17 0D 24 27 16 05 0C 18 16 24 03 27 + .byte $36, $05, $22, $18, $1E, $24, $03, $23, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A ; CPU:$F1F3 PRG:31F3 36 05 22 18 1E 24 03 23 E8 18 5A 5A 5A FA FA 5A + .byte $5A, $5A, $55, $55, $55, $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00 ; CPU:$F203 PRG:3203 5A 5A 55 55 55 FF FF AA AA AA 55 55 55 FF FF 00 + .byte $00, $00, $27, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A, $5A, $5A, $55, $55, $55 ; CPU:$F213 PRG:3213 00 00 27 E8 18 5A 5A 5A FA FA 5A 5A 5A 55 55 55 + .byte $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $21, $0A ; CPU:$F223 PRG:3223 FF FF AA AA AA 55 55 55 FF FF 00 00 00 00 21 0A + .byte $0E, $33, $E9, $E8, $F9, $E9, $EC, $F9, $33, $FA, $EF, $F6, $F7, $33, $33, $21 ; CPU:$F233 PRG:3233 0E 33 E9 E8 F9 E9 EC F9 33 FA EF F6 F7 33 33 21 + .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F243 PRG:3243 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 + .byte $C0, $20, $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F253 PRG:3253 C0 20 00 44 55 55 55 55 11 00 00 44 55 55 55 55 + .byte $11, $00, $00, $4C, $5F, $5F, $5F, $5F, $13, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F263 PRG:3263 11 00 00 4C 5F 5F 5F 5F 13 00 00 44 55 55 55 55 + .byte $11, $00, $23, $E0, $08, $A0, $A4, $A5, $A5, $A5, $A5, $A1, $A0, $00, $21, $0A ; CPU:$F273 PRG:3273 11 00 23 E0 08 A0 A4 A5 A5 A5 A5 A1 A0 00 21 0A + .byte $0E, $33, $33, $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $33, $33, $33, $21 ; CPU:$F283 PRG:3283 0E 33 33 FA F5 E8 EA F2 33 E9 E8 F9 33 33 33 21 + .byte $46, $C8, $D2, $21, $4D, $C8, $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23 ; CPU:$F293 PRG:3293 46 C8 D2 21 4D C8 D2 21 52 C8 D2 21 59 C8 D2 23 + .byte $C0, $20, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF ; CPU:$F2A3 PRG:32A3 C0 20 00 CC FF FF FF FF 33 00 00 CC FF FF FF FF + .byte $33, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2B3 PRG:32B3 33 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA + .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $AA, $AA, $AA, $A2, $A0, $00, $21, $0A ; CPU:$F2C3 PRG:32C3 22 00 23 E0 08 A0 A8 AA AA AA AA A2 A0 00 21 0A + .byte $0E, $33, $F9, $EC, $FA, $FB, $E8, $FC, $F9, $E8, $F5, $FB, $33, $33, $33, $21 ; CPU:$F2D3 PRG:32D3 0E 33 F9 EC FA FB E8 FC F9 E8 F5 FB 33 33 33 21 + .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F2E3 PRG:32E3 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 + .byte $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2F3 PRG:32F3 C0 20 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA + .byte $22, $00, $00, $84, $A5, $25, $85, $A5, $21, $00, $00, $88, $AA, $22, $88, $AA ; CPU:$F303 PRG:3303 22 00 00 84 A5 25 85 A5 21 00 00 88 AA 22 88 AA + .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $A2, $A8, $AA, $A2, $A0, $00, $25, $0A ; CPU:$F313 PRG:3313 22 00 23 E0 08 A0 A8 AA A2 A8 AA A2 A0 00 25 0A + .byte $0E, $33, $E9, $F6, $F6, $F2, $33, $FA, $FB, $F6, $F9, $EC, $33, $33, $33, $25 ; CPU:$F323 PRG:3323 0E 33 E9 F6 F6 F2 33 FA FB F6 F9 EC 33 33 33 25 + .byte $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F333 PRG:3333 4E 04 D6 D7 D7 D8 27 C0 20 00 88 AA AA AA AA 22 + .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F343 PRG:3343 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA 22 + .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $27, $E0, $08, $A0, $A8, $AA, $AA ; CPU:$F353 PRG:3353 00 00 88 AA AA AA AA 22 00 27 E0 08 A0 A8 AA AA + .byte $AA, $AA, $A2, $A0, $00, $25, $0A, $0E, $EB, $F0, $FA, $EA, $F6, $FC, $F5, $FB ; CPU:$F363 PRG:3363 AA AA A2 A0 00 25 0A 0E EB F0 FA EA F6 FC F5 FB + .byte $33, $FA, $EF, $F6, $F7, $33, $25, $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20 ; CPU:$F373 PRG:3373 33 FA EF F6 F7 33 25 4E 04 D6 D7 D7 D8 27 C0 20 + .byte $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55, $11, $00 ; CPU:$F383 PRG:3383 00 44 55 55 55 55 11 00 00 44 55 55 55 55 11 00 + .byte $00, $00, $00, $80, $20, $00, $00, $00, $00, $00, $00, $88, $22, $00, $00, $00 ; CPU:$F393 PRG:3393 00 00 00 80 20 00 00 00 00 00 00 88 22 00 00 00 + .byte $27, $E0, $08, $A0, $A0, $A0, $A8, $A2, $A0, $A0, $A0, $00, $20, $00, $60, $32 ; CPU:$F3A3 PRG:33A3 27 E0 08 A0 A0 A0 A8 A2 A0 A0 A0 00 20 00 60 32 + .byte $20, $20, $60, $32, $20, $40, $60, $32, $20, $60, $60, $32, $21, $40, $60, $32 ; CPU:$F3B3 PRG:33B3 20 20 60 32 20 40 60 32 20 60 60 32 21 40 60 32 + .byte $22, $20, $60, $32, $20, $80, $CD, $32, $20, $81, $CD, $32, $20, $82, $CD, $32 ; CPU:$F3C3 PRG:33C3 22 20 60 32 20 80 CD 32 20 81 CD 32 20 82 CD 32 + .byte $20, $83, $CD, $32, $20, $93, $CD, $32, $20, $9C, $CD, $32, $20, $9D, $CD, $32 ; CPU:$F3D3 PRG:33D3 20 83 CD 32 20 93 CD 32 20 9C CD 32 20 9D CD 32 + .byte $20, $9E, $CD, $32, $20, $9F, $CD, $32, $20, $94, $48, $31, $20, $B4, $47, $31 ; CPU:$F3E3 PRG:33E3 20 9E CD 32 20 9F CD 32 20 94 48 31 20 B4 47 31 + .byte $20, $D4, $47, $31, $20, $F4, $47, $31, $21, $14, $47, $31, $20, $84, $CC, $A0 ; CPU:$F3F3 PRG:33F3 20 D4 47 31 20 F4 47 31 21 14 47 31 20 84 CC A0 + .byte $20, $85, $CC, $A1, $20, $86, $CC, $A2, $20, $87, $CD, $A0, $20, $88, $8D, $33 ; CPU:$F403 PRG:3403 20 85 CC A1 20 86 CC A2 20 87 CD A0 20 88 8D 33 + .byte $A1, $A8, $A9, $A1, $A1, $32, $A1, $A1, $33, $A1, $A1, $A1, $20, $A9, $CC, $A2 ; CPU:$F413 PRG:3413 A1 A8 A9 A1 A1 32 A1 A1 33 A1 A1 A1 20 A9 CC A2 + .byte $20, $8A, $CD, $A0, $20, $8B, $8D, $33, $A1, $A8, $A9, $A1, $33, $32, $33, $A1 ; CPU:$F423 PRG:3423 20 8A CD A0 20 8B 8D 33 A1 A8 A9 A1 33 32 33 A1 + .byte $A1, $33, $A1, $A1, $20, $AC, $CC, $A2, $20, $AD, $CC, $A0, $20, $AE, $CC, $A1 ; CPU:$F433 PRG:3433 A1 33 A1 A1 20 AC CC A2 20 AD CC A0 20 AE CC A1 + .byte $20, $AF, $C5, $A2, $21, $8F, $C5, $A1, $20, $90, $CD, $A0, $20, $B1, $C5, $A1 ; CPU:$F443 PRG:3443 20 AF C5 A2 21 8F C5 A1 20 90 CD A0 20 B1 C5 A1 + .byte $21, $71, $C6, $A0, $20, $B2, $C5, $A2, $21, $72, $86, $33, $A1, $A1, $33, $AA ; CPU:$F453 PRG:3453 21 71 C6 A0 20 B2 C5 A2 21 72 86 33 A1 A1 33 AA + .byte $AA, $21, $73, $84, $A3, $A2, $A2, $A4, $21, $74, $C6, $A0, $21, $75, $C6, $A2 ; CPU:$F463 PRG:3463 AA 21 73 84 A3 A2 A2 A4 21 74 C6 A0 21 75 C6 A2 + .byte $21, $96, $C4, $A0, $21, $97, $C4, $A1, $21, $98, $C4, $A2, $21, $79, $C6, $A0 ; CPU:$F473 PRG:3473 21 96 C4 A0 21 97 C4 A1 21 98 C4 A2 21 79 C6 A0 + .byte $21, $9A, $C5, $A1, $21, $9B, $C5, $A2, $21, $24, $83, $A7, $32, $A6, $21, $05 ; CPU:$F483 PRG:3483 21 9A C5 A1 21 9B C5 A2 21 24 83 A7 32 A6 21 05 + .byte $84, $A8, $33, $32, $33, $21, $26, $83, $A4, $32, $A3, $20, $89, $84, $A3, $A2 ; CPU:$F493 PRG:3493 84 A8 33 32 33 21 26 83 A4 32 A3 20 89 84 A3 A2 + .byte $A4, $A3, $21, $6A, $01, $A6, $20, $8C, $88, $A3, $A2, $A4, $A3, $A2, $A4, $32 ; CPU:$F4A3 PRG:34A3 A4 A3 21 6A 01 A6 20 8C 88 A3 A2 A4 A3 A2 A4 32 + .byte $A3, $20, $8D, $01, $A6, $20, $8E, $84, $33, $A1, $A1, $33, $20, $8F, $01, $A3 ; CPU:$F4B3 PRG:34B3 A3 20 8D 01 A6 20 8E 84 33 A1 A1 33 20 8F 01 A3 + .byte $21, $6E, $03, $33, $33, $A3, $20, $91, $02, $33, $A3, $21, $76, $06, $A6, $33 ; CPU:$F4C3 PRG:34C3 21 6E 03 33 33 A3 20 91 02 33 A3 21 76 06 A6 33 + .byte $A3, $A0, $33, $A3, $22, $04, $03, $A7, $33, $A4, $22, $16, $03, $A7, $33, $A4 ; CPU:$F4D3 PRG:34D3 A3 A0 33 A3 22 04 03 A7 33 A4 22 16 03 A7 33 A4 + .byte $20, $22, $D1, $32, $20, $23, $D1, $32, $21, $44, $58, $32, $22, $24, $58, $32 ; CPU:$F4E3 PRG:34E3 20 22 D1 32 20 23 D1 32 21 44 58 32 22 24 58 32 + .byte $21, $A6, $01, $32, $21, $F3, $C2, $32, $21, $A5, $01, $AA, $21, $90, $C5, $A2 ; CPU:$F4F3 PRG:34F3 21 A6 01 32 21 F3 C2 32 21 A5 01 AA 21 90 C5 A2 + .byte $20, $96, $83, $43, $42, $37, $20, $F5, $02, $32, $37, $21, $15, $43, $36, $21 ; CPU:$F503 PRG:3503 20 96 83 43 42 37 20 F5 02 32 37 21 15 43 36 21 + .byte $34, $04, $32, $34, $34, $34, $20, $D8, $84, $32, $3E, $3E, $3E, $20, $D9, $84 ; CPU:$F513 PRG:3513 34 04 32 34 34 34 20 D8 84 32 3E 3E 3E 20 D9 84 + .byte $3E, $3E, $32, $3E, $20, $FA, $83, $38, $3E, $32, $20, $BB, $85, $43, $42, $37 ; CPU:$F523 PRG:3523 3E 3E 32 3E 20 FA 83 38 3E 32 20 BB 85 43 42 37 + .byte $37, $37, $22, $A6, $17, $10, $0A, $16, $0E, $2F, $0B, $2F, $2F, $2F, $2F, $02 ; CPU:$F533 PRG:3533 37 37 22 A6 17 10 0A 16 0E 2F 0B 2F 2F 2F 2F 02 + .byte $2F, $19, $15, $0A, $22, $0E, $1B, $2F, $10, $0A, $16, $0E, $22, $66, $16, $10 ; CPU:$F543 PRG:3543 2F 19 15 0A 22 0E 1B 2F 10 0A 16 0E 22 66 16 10 + .byte $0A, $16, $0E, $2F, $0A, $2F, $2F, $2F, $2F, $1F, $1C, $2B, $2F, $0C, $18, $16 ; CPU:$F553 PRG:3553 0A 16 0E 2F 0A 2F 2F 2F 2F 1F 1C 2B 2F 0C 18 16 + .byte $19, $1E, $1D, $0E, $1B, $22, $EA, $0A, $1D, $18, $19, $2F, $1B, $18, $1E, $17 ; CPU:$F563 PRG:3563 19 1E 1D 0E 1B 22 EA 0A 1D 18 19 2F 1B 18 1E 17 + .byte $0D, $24, $23, $29, $0E, $25, $01, $09, $08, $04, $2F, $17, $12, $17, $1D, $0E ; CPU:$F573 PRG:3573 0D 24 23 29 0E 25 01 09 08 04 2F 17 12 17 1D 0E + .byte $17, $0D, $18, $23, $C0, $60, $00, $23, $E0, $08, $F0, $B0, $A0, $A0, $A0, $A0 ; CPU:$F583 PRG:3583 17 0D 18 23 C0 60 00 23 E0 08 F0 B0 A0 A0 A0 A0 + .byte $A0, $A0, $23, $E8, $08, $00, $0B, $0A, $0A, $0A, $0A, $0A, $0A, $23, $F0, $50 ; CPU:$F593 PRG:3593 A0 A0 23 E8 08 00 0B 0A 0A 0A 0A 0A 0A 23 F0 50 + .byte $FF, $23, $CD, $42, $55, $23, $D5, $42, $05, $22, $1C, $02, $2D, $2E, $00, $BE ; CPU:$F5A3 PRG:35A3 FF 23 CD 42 55 23 D5 42 05 22 1C 02 2D 2E 00 BE + .byte $F5, $D6, $F5, $FA, $F5, $1E, $F6, $42, $F6, $66, $F6, $3F, $00, $10, $0F, $0F ; CPU:$F5B3 PRG:35B3 F5 D6 F5 FA F5 1E F6 42 F6 66 F6 3F 00 10 0F 0F + .byte $11, $31, $0F, $02, $0F, $27, $0F, $16, $25, $23, $0F, $05, $20, $0F, $3F, $10 ; CPU:$F5C3 PRG:35C3 11 31 0F 02 0F 27 0F 16 25 23 0F 05 20 0F 3F 10 + .byte $50, $0F, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07, $38, $2B, $0F, $00 ; CPU:$F5D3 PRG:35D3 50 0F 00 3F 00 20 0F 21 0C 38 0F 07 38 2B 0F 00 + .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $36, $31, $0F, $1A, $36, $31, $0F, $1A ; CPU:$F5E3 PRG:35E3 10 30 0F 16 30 22 0F 02 36 31 0F 1A 36 31 0F 1A + .byte $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07 ; CPU:$F5F3 PRG:35F3 15 0C 0F 16 27 19 00 3F 00 20 0F 21 0C 38 0F 07 + .byte $38, $2B, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $34 ; CPU:$F603 PRG:3603 38 2B 0F 00 10 30 0F 16 30 22 0F 02 26 31 0F 34 + .byte $21, $11, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21 ; CPU:$F613 PRG:3613 21 11 0F 1A 15 0C 0F 16 27 19 00 3F 00 20 0F 21 + .byte $0C, $38, $0F, $09, $31, $29, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02 ; CPU:$F623 PRG:3623 0C 38 0F 09 31 29 0F 00 10 30 0F 16 30 22 0F 02 + .byte $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F ; CPU:$F633 PRG:3633 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 27 19 00 3F + .byte $00, $20, $0F, $21, $0C, $38, $0F, $22, $18, $07, $0F, $00, $10, $30, $0F, $16 ; CPU:$F643 PRG:3643 00 20 0F 21 0C 38 0F 22 18 07 0F 00 10 30 0F 16 + .byte $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16 ; CPU:$F653 PRG:3653 30 22 0F 02 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 + .byte $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $03, $18, $0B, $0F, $00 ; CPU:$F663 PRG:3663 27 19 00 3F 00 20 0F 21 0C 38 0F 03 18 0B 0F 00 + .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A ; CPU:$F673 PRG:3673 10 30 0F 16 30 22 0F 02 26 31 0F 19 36 32 0F 1A + .byte $15, $0C, $0F, $16, $27, $19, $00, $00, $01, $20, $00, $00, $01, $20, $00, $00 ; CPU:$F683 PRG:3683 15 0C 0F 16 27 19 00 00 01 20 00 00 01 20 00 00 + .byte $01, $20, $00, $01, $01, $7B, $C1, $00, $15, $60, $A0, $00, $03, $00, $00, $01 ; CPU:$F693 PRG:3693 01 20 00 01 01 7B C1 00 15 60 A0 00 03 00 00 01 + .byte $00, $00, $00, $01, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6A3 PRG:36A3 00 00 00 01 00 00 04 00 00 00 00 0A 00 00 05 00 + .byte $00, $00, $01, $01, $01, $7B, $3E, $08, $15, $A0, $E0, $00, $03, $00, $00, $00 ; CPU:$F6B3 PRG:36B3 00 00 01 01 01 7B 3E 08 15 A0 E0 00 03 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6C3 PRG:36C3 00 00 00 00 00 00 04 00 00 00 00 0A 00 00 05 00 + .byte $00, $00, $01, $01, $01, $3D, $78, $00, $13, $E0, $00, $01, $00, $03, $00, $00 ; CPU:$F6D3 PRG:36D3 00 00 01 01 01 3D 78 00 13 E0 00 01 00 03 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F6E3 PRG:36E3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $F4, $FE, $20, $04, $F4, $FD, $00, $68, $F4, $FC, $00, $70, $F4 ; CPU:$F6F3 PRG:36F3 00 00 00 F4 FE 20 04 F4 FD 00 68 F4 FC 00 70 F4 + .byte $FB, $00, $78, $F4, $F6, $00, $78, $F4, $F5, $00, $80, $F4, $F4, $00, $80, $F4 ; CPU:$F703 PRG:3703 FB 00 78 F4 F6 00 78 F4 F5 00 80 F4 F4 00 80 F4 + .byte $F3, $03, $80, $F4, $F2, $00, $88, $F4, $F1, $00, $88, $F4, $F0, $03, $88, $F4 ; CPU:$F713 PRG:3713 F3 03 80 F4 F2 00 88 F4 F1 00 88 F4 F0 03 88 F4 + .byte $EF, $00, $90, $F4, $EE, $00, $90, $F4, $ED, $00, $98, $F4, $EC, $00, $98, $F4 ; CPU:$F723 PRG:3723 EF 00 90 F4 EE 00 90 F4 ED 00 98 F4 EC 00 98 F4 + .byte $EB, $00, $A0, $F4, $F9, $00, $80, $F4, $F7, $00, $88, $F4, $FA, $01, $80, $F4 ; CPU:$F733 PRG:3733 EB 00 A0 F4 F9 00 80 F4 F7 00 88 F4 FA 01 80 F4 + .byte $F8, $01, $88, $2F, $4C, $78, $7A, $7C, $7E, $4E, $79, $7B, $7D, $7F, $CD, $CB ; CPU:$F743 PRG:3743 F8 01 88 2F 4C 78 7A 7C 7E 4E 79 7B 7D 7F CD CB + .byte $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $78, $7A, $7C, $7E, $4D, $79, $7B ; CPU:$F753 PRG:3753 C9 C7 C5 CE CC CA C8 C6 FF 78 7A 7C 7E 4D 79 7B + .byte $7D, $7F, $4F, $CD, $CB, $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $00, $00 ; CPU:$F763 PRG:3763 7D 7F 4F CD CB C9 C7 C5 CE CC CA C8 C6 FF 00 00 + .byte $31, $F2, $21, $F3, $81, $F2, $68, $F3, $D1, $F2, $AF, $F7, $B6, $F7, $BD, $F7 ; CPU:$F773 PRG:3773 31 F2 21 F3 81 F2 68 F3 D1 F2 AF F7 B6 F7 BD F7 + .byte $C4, $F7, $D7, $F7, $CE, $F7, $E0, $F7, $E3, $F7, $E6, $F7, $E9, $F7, $99, $F7 ; CPU:$F783 PRG:3783 C4 F7 D7 F7 CE F7 E0 F7 E3 F7 E6 F7 E9 F7 99 F7 + .byte $A6, $F7, $CB, $F7, $EC, $F7, $04, $02, $04, $00, $04, $01, $04, $06, $04, $00 ; CPU:$F793 PRG:3793 A6 F7 CB F7 EC F7 04 02 04 00 04 01 04 06 04 00 + .byte $04, $01, $FE, $04, $00, $04, $06, $04, $01, $04, $02, $FE, $20, $0F, $10, $08 ; CPU:$F7A3 PRG:37A3 04 01 FE 04 00 04 06 04 01 04 02 FE 20 0F 10 08 + .byte $01, $04, $FF, $20, $10, $10, $09, $01, $06, $FF, $10, $0F, $10, $08, $01, $04 ; CPU:$F7B3 PRG:37B3 01 04 FF 20 10 10 09 01 06 FF 10 0F 10 08 01 04 + .byte $FF, $10, $10, $10, $09, $01, $06, $FF, $15, $0A, $FF, $10, $06, $10, $06, $10 ; CPU:$F7C3 PRG:37C3 FF 10 10 10 09 01 06 FF 15 0A FF 10 06 10 06 10 + .byte $07, $10, $07, $FE, $10, $04, $10, $04, $10, $05, $10, $05, $FE, $20, $0B, $FF ; CPU:$F7D3 PRG:37D3 07 10 07 FE 10 04 10 04 10 05 10 05 FE 20 0B FF + .byte $20, $0C, $FF, $20, $16, $FF, $20, $17, $FF, $40, $19, $F0, $18, $FF, $02, $FF ; CPU:$F7E3 PRG:37E3 20 0C FF 20 16 FF 20 17 FF 40 19 F0 18 FF 02 FF + .byte $01, $02, $FF, $01, $02, $FF, $01, $02, $FF, $01, $02, $00, $01, $FD, $14, $02 ; CPU:$F7F3 PRG:37F3 01 02 FF 01 02 FF 01 02 FF 01 02 00 01 FD 14 02 + .byte $00, $01, $02, $00, $01, $02, $01, $01, $02, $01, $01, $02, $01, $01, $02, $01 ; CPU:$F803 PRG:3803 00 01 02 00 01 02 01 01 02 01 01 02 01 01 02 01 + .byte $01, $02, $01, $01, $02, $01, $01, $02, $02, $01, $FD, $0E, $02, $02, $01, $02 ; CPU:$F813 PRG:3813 01 02 01 01 02 01 01 02 02 01 FD 0E 02 02 01 02 + .byte $02, $01, $14, $00, $01, $FD, $11, $14, $F8, $00, $FD, $0C, $0F, $03, $10, $FF ; CPU:$F823 PRG:3823 02 01 14 00 01 FD 11 14 F8 00 FD 0C 0F 03 10 FF + .byte $02, $03, $01, $FE, $0E, $00, $0A, $FF, $08, $02, $01, $FD, $11, $08, $F8, $00 ; CPU:$F833 PRG:3833 02 03 01 FE 0E 00 0A FF 08 02 01 FD 11 08 F8 00 + .byte $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD ; CPU:$F843 PRG:3843 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD + .byte $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E ; CPU:$F853 PRG:3853 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E + .byte $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08 ; CPU:$F863 PRG:3863 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 + .byte $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08 ; CPU:$F873 PRG:3873 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 + .byte $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00 ; CPU:$F883 PRG:3883 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 + .byte $FF, $FD, $1D, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F893 PRG:3893 FF FD 1D 04 02 00 04 02 00 04 02 00 04 02 00 04 + .byte $02, $00, $04, $02, $00, $04, $02, $00, $FD, $1A, $04, $02, $00, $04, $02, $00 ; CPU:$F8A3 PRG:38A3 02 00 04 02 00 04 02 00 FD 1A 04 02 00 04 02 00 + .byte $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F8B3 PRG:38B3 04 02 00 04 02 00 04 02 00 04 02 00 04 02 00 04 + .byte $02, $00, $04, $02, $00, $04, $02, $00, $FF, $48, $EA, $23, $9C, $48, $C4, $61 ; CPU:$F8C3 PRG:38C3 02 00 04 02 00 04 02 00 FF 48 EA 23 9C 48 C4 61 + .byte $98, $48, $C4, $21, $A0, $40, $C6, $20, $98, $40, $C3, $20, $A0, $38, $C5, $20 ; CPU:$F8D3 PRG:38D3 98 48 C4 21 A0 40 C6 20 98 40 C3 20 A0 38 C5 20 + .byte $98, $38, $C2, $20, $A0, $08, $F8, $08, $08, $10, $00, $FF, $10, $F0, $18, $F8 ; CPU:$F8E3 PRG:38E3 98 38 C2 20 A0 08 F8 08 08 10 00 FF 10 F0 18 F8 + .byte $18, $08, $10, $10, $FF, $18, $E0, $20, $E8, $28, $F8, $20, $00, $28, $10, $FF ; CPU:$F8F3 PRG:38F3 18 08 10 10 FF 18 E0 20 E8 28 F8 20 00 28 10 FF + .byte $20, $D0, $30, $D8, $30, $E8, $38, $F0, $30, $00, $30, $18, $FF, $30, $C8, $40 ; CPU:$F903 PRG:3903 20 D0 30 D8 30 E8 38 F0 30 00 30 18 FF 30 C8 40 + .byte $E0, $40, $08, $48, $20, $FF, $38, $B0, $40, $C0, $50, $E8, $50, $00, $FF, $50 ; CPU:$F913 PRG:3913 E0 40 08 48 20 FF 38 B0 40 C0 50 E8 50 00 FF 50 + .byte $C8, $FF, $48, $98, $50, $B0, $FF, $50, $88, $58, $90, $60, $A8, $58, $B8, $60 ; CPU:$F923 PRG:3923 C8 FF 48 98 50 B0 FF 50 88 58 90 60 A8 58 B8 60 + .byte $C8, $60, $E0, $58, $F8, $60, $08, $58, $18, $60, $20, $60, $30, $FE, $2F, $1B ; CPU:$F933 PRG:3933 C8 60 E0 58 F8 60 08 58 18 60 20 60 30 FE 2F 1B + .byte $18, $1E, $17, $0D, $24, $2F, $2F, $2F, $4F, $F9, $75, $F9, $CD, $24, $57, $FF ; CPU:$F943 PRG:3943 18 1E 17 0D 24 2F 2F 2F 4F F9 75 F9 CD 24 57 FF + .byte $13, $13, $13, $13, $13, $1A, $D8, $1B, $18, $1E, $17, $0D, $21, $D8, $B7, $B7 ; CPU:$F953 PRG:3953 13 13 13 13 13 1A D8 1B 18 1E 17 0D 21 D8 B7 B7 + .byte $B7, $B7, $B7, $21, $D8, $B7, $B7, $B7, $B7, $B7, $21, $23, $FC, $FC, $FC, $FC ; CPU:$F963 PRG:3963 B7 B7 B7 21 D8 B7 B7 B7 B7 B7 21 23 FC FC FC FC + .byte $FC, $FD, $6B, $0B, $1A, $32, $32, $2F, $19, $0A, $1E, $1C, $0E, $2F, $32, $33 ; CPU:$F973 PRG:3973 FC FD 6B 0B 1A 32 32 2F 19 0A 1E 1C 0E 2F 32 33 + .byte $5A, $24, $FF, $13, $13, $13, $13, $13, $1A, $24, $24, $24, $D8, $B7, $B7, $B7 ; CPU:$F983 PRG:3983 5A 24 FF 13 13 13 13 13 1A 24 24 24 D8 B7 B7 B7 + .byte $B7, $B7, $21, $24, $24, $24, $D8, $19, $0A, $1E, $1C, $0E, $21, $24, $24, $24 ; CPU:$F993 PRG:3993 B7 B7 21 24 24 24 D8 19 0A 1E 1C 0E 21 24 24 24 + .byte $D8, $B7, $B7, $B7, $B7, $B7, $21, $24, $24, $24, $23, $FC, $FC, $FC, $FC, $FC ; CPU:$F9A3 PRG:39A3 D8 B7 B7 B7 B7 B7 21 24 24 24 23 FC FC FC FC FC + .byte $FD, $24, $24, $01, $01, $02, $03, $00, $50, $00, $00, $00, $02, $03, $01, $04 ; CPU:$F9B3 PRG:39B3 FD 24 24 01 01 02 03 00 50 00 00 00 02 03 01 04 + .byte $06, $02, $05, $07, $05, $08, $10, $15, $16, $20, $24, $30, $E3, $F9, $E7, $F9 ; CPU:$F9C3 PRG:39C3 06 02 05 07 05 08 10 15 16 20 24 30 E3 F9 E7 F9 + .byte $EB, $F9, $EF, $F9, $F3, $F9, $F7, $F9, $FB, $F9, $FF, $F9, $03, $FA, $07, $FA ; CPU:$F9D3 PRG:39D3 EB F9 EF F9 F3 F9 F7 F9 FB F9 FF F9 03 FA 07 FA + .byte $50, $52, $51, $53, $54, $56, $55, $57, $58, $5A, $59, $5B, $5C, $5E, $5D, $5F ; CPU:$F9E3 PRG:39E3 50 52 51 53 54 56 55 57 58 5A 59 5B 5C 5E 5D 5F + .byte $60, $62, $61, $63, $64, $66, $65, $67, $68, $6A, $69, $6B, $6C, $6E, $6D, $6F ; CPU:$F9F3 PRG:39F3 60 62 61 63 64 66 65 67 68 6A 69 6B 6C 6E 6D 6F + .byte $70, $72, $71, $73, $74, $76, $75, $77, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA03 PRG:3A03 70 72 71 73 74 76 75 77 FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA13 PRG:3A13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA23 PRG:3A23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA33 PRG:3A33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA43 PRG:3A43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA53 PRG:3A53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA63 PRG:3A63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA73 PRG:3A73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA83 PRG:3A83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA93 PRG:3A93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAA3 PRG:3AA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAB3 PRG:3AB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAC3 PRG:3AC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAD3 PRG:3AD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAE3 PRG:3AE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAF3 PRG:3AF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB03 PRG:3B03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB13 PRG:3B13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB23 PRG:3B23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB33 PRG:3B33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB43 PRG:3B43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB53 PRG:3B53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB63 PRG:3B63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB73 PRG:3B73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB83 PRG:3B83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB93 PRG:3B93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBA3 PRG:3BA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBB3 PRG:3BB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBC3 PRG:3BC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBD3 PRG:3BD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBE3 PRG:3BE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBF3 PRG:3BF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC03 PRG:3C03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC13 PRG:3C13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC23 PRG:3C23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC33 PRG:3C33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC43 PRG:3C43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC53 PRG:3C53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC63 PRG:3C63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC73 PRG:3C73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC83 PRG:3C83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC93 PRG:3C93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCA3 PRG:3CA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCB3 PRG:3CB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCC3 PRG:3CC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCD3 PRG:3CD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCE3 PRG:3CE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCF3 PRG:3CF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD03 PRG:3D03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD13 PRG:3D13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD23 PRG:3D23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD33 PRG:3D33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD43 PRG:3D43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD53 PRG:3D53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD63 PRG:3D63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD73 PRG:3D73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD83 PRG:3D83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD93 PRG:3D93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDA3 PRG:3DA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDB3 PRG:3DB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDC3 PRG:3DC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDD3 PRG:3DD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDE3 PRG:3DE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDF3 PRG:3DF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE03 PRG:3E03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE13 PRG:3E13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE23 PRG:3E23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE33 PRG:3E33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE43 PRG:3E43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE53 PRG:3E53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE63 PRG:3E63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE73 PRG:3E73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE83 PRG:3E83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE93 PRG:3E93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEA3 PRG:3EA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEB3 PRG:3EB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEC3 PRG:3EC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FED3 PRG:3ED3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEE3 PRG:3EE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEF3 PRG:3EF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF03 PRG:3F03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF13 PRG:3F13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF23 PRG:3F23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF33 PRG:3F33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF43 PRG:3F43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF53 PRG:3F53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF63 PRG:3F63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF73 PRG:3F73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF83 PRG:3F83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF93 PRG:3F93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFA3 PRG:3FA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFB3 PRG:3FB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFC3 PRG:3FC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFD3 PRG:3FD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE3 PRG:3FE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $91, $CA, $00, $CA, $00, $CA ; CPU:$FFF3 PRG:3FF3 FF FF FF FF FF FF FF 91 CA 00 CA 00 CA diff --git a/_wip/Urban Champion (JU)/copilot/reconstructed.lbl b/_wip/Urban Champion (JU)/copilot/reconstructed.lbl index e69de29..60c9996 100644 --- a/_wip/Urban Champion (JU)/copilot/reconstructed.lbl +++ b/_wip/Urban Champion (JU)/copilot/reconstructed.lbl @@ -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 diff --git a/_wip/Urban Champion (JU)/copilot/urban_baseline.cdl b/_wip/Urban Champion (JU)/copilot/urban_baseline.cdl new file mode 100644 index 0000000000000000000000000000000000000000..0d7e1b7ab9ed9f6b7fc4edbd1883051f6c046da8 GIT binary patch literal 24585 zcmeHNOOo3-47F3`MK9(GIYd@j&&+bpGZ)Q;LIA{vAVdl+yKOmib({D;0FSga2iO`_qMD~}21}!3m4`SqT zGi?oG4g?-}>VQtNm76$FcC}hR5pC?w3z|u?mm*_c;$q-^8IVK&NMVaU`Qz7p?yF(= zw{9zm?IziXK~44UxqfMMDYP|N1=@0dsT~`J?WNnyQSD|nhl{iJHph6X!!|-Dc(+!QQ^gq5T8m6SU9vRYm#_dP zFK0H1EK((*{^D-fH_oxfv$W9&moY13+~SW1gV}X{x7d?qJ_pFPi*Rb`&3Es0(|#n5 z!hz6I5JPHV3U4;sB0!Yai>W4CZb&Y%HC!`ma7mLg)VKvE3xX&H8Sx!FeY^>Huqfk^ zkbKw9gG6YKUfW_d*nYr@5!4#ragrg-OO+UAJw&%<-=8{ z$1dP0fX@}IVCgBBvJvf0%C1|ZlWoNc6Qb!6asX9rYJ~`K9)EVJk2ulx=;TLTqg|Q(YQw|U$YS4* zJB^gWRlo$0Yi38SMeLllLuW64jhZjLoSE+3fKMfe?5Q`5#aj-As}Um;U*XWmL1BikdYjYAnv z4z$Z9pT9O;N9{mBkSKiTqnv*nR zQ_?gIiEQePBxxlQ=-xK=L}0zm=31|{r)3MovIk*1uQNZ#oow}Efqs012=xxI#~aHa zghMRjVqh__7CT(E;LgbapV%YaGsdf|M`n3??&nGL z&(ZvR(~PtM&#}FG+tbG`%Mk{2pN^p1E0?-aH0{oN`WUq=X)&-ESPU!%-k1TpMSw5< z*K0omZ+sw5Iokf6`&{HHNm)%V22R32_EUM1vHsXLv-`Q?#|#`jNMrQ#dyn!n%g-`2 z!(0Bvz+zxA@GJ(h*RyPVcCIY`(RkmV$IJR>@g6^`e>MKB-poIn&*x`#kMHxnf2JSJ zpW$cyzMrGIub;*9`AdH-2D1CP;#&ruy_;<}U$6Q3eFyjUXYqV|R-et2#e4O5KkrO` z^?7`Mvw7a#KjXvuv%2T+Xuiigo9^e&_V4p&dKUj^{H&j&{#k!n{2AW8{l32$em36Y L`FyYY_@nx7pJX`~ literal 0 HcmV?d00001 diff --git a/_wip/Urban Champion (JU)/copilot/urban_gameplay.cdl b/_wip/Urban Champion (JU)/copilot/urban_gameplay.cdl new file mode 100644 index 0000000000000000000000000000000000000000..ef38660d371999fdc66f5a783e9ae7b522d0939d GIT binary patch literal 24585 zcmeHLNw(uQ47B?_Fa9D|$RV=II>|EU$whOaCIEsgfS@S0EPoHwvqcPr!a!NJ{P#cq z{`be9fBpXd*Yzr|>(-GV<@mbZikyWT`RT2mOFlR*8`XAj#Zr77*Xys4|DfY?!MD(m zr5+5+*lN9p^y9*bOtwDn_5j+EY*{!Q5QMiPFfVaU;C&}hF8VWt-uTLwU-P-ohRyG~ zUXa=$7{nlF_3pWURdhns!X+z+*L!L+^dGjl7q>5b=Te(vaGb#3A5(KSp)VL6nR zE`~|s97+*;DUdyKQS)Ye@iPKbl3oM%>^X<=gGN}a8XGDFE3i>(!og$S0;Xl-d@PP8UjUQKW*x=n!u5I1LrKoupEZgtv8 z&sbfXk`Gh@rV@SiUT?cFmMu69G$mw6PAqV<*~maB zuP0LuZfBIR8D1kZIE9roQZW*Xg$XN%82L<|77u`vMQJrvAj0IiRvrXaXO*xUvBo~d zHN)w{)q{VD;9nsqQ?-gusib%?l-(Am@n~tXhOTU+=XnzO+yawDUY2p6*3KIfknDOy zH`k;)?i@LN%YSbR2M5CWhZaAUhQQlrqmW3aG!8A(}*+ zR)3jkm;;mAtN)Gd?eNBrY2PxAx|!hyo>g^CtJh2Jo~xjz0KKkgC8N1UIcRHM6tU%x zd?_X}AF**a%qo&L>sE5oJ4l6b)m^P*OPahgjbX1rJ0-t0B^L|e-Q<%CM>la3I_-oS zpw&_*+lnSadWtJia&^gngyu;S$g)^VD|{`eZwZ0|6U3)7BLLdusgz@~S&BrAFt(Q3 z&LPPVm$5<{8)Dst{5@jGD6mK9{-@y_5DX%w@3A2UhmmPQHmDuLi)?a*3!FAfI6>U1_R5+KxM>P?b{ZWBAh(FhD5>O@BPvay&I-H&FBw!0g z?FpQoC*o!sp7?GcBuXi6v1y+eQe|om3#gu;mhipW1-Q9Q%hRE-6ZqrP+b2)JCxO%`1Z zNR1Z25OS46?_K(BEGwNcndo@-Uh?IGU8*!I2DWmAS6^hSUME#>Pr_dx5k~z)EPj=A z#VE4rf%a)xNpPJe*&Tpco=)D|#a!XLSm!7oh2B;A0<8(G39Jcx_XHkwQ+(1q-#z|Q z@;~XUKcuWvwseuc+644!KT@}HJj;5dmv4{#)ge;h@@%OL`m}9YQm3vNlrd_Bhtv{X zeRq|J|E`2DOI9ZR6!XAps@zI6Zf||rEm(!G39JdM39JdsOhCTC%fJ6i_{a&&Trp>0 zpMB_O^t?FN1m1N5XMdjk+>Yk+d`mwzfusAe;_U>E?Z)L|+1^h(I-gPe?8H3ZZ2T+pQD{t@2u&+3onALSeQNB#NuS>5ydc<&$S zN8?BQvwmOCQQhaC<@51NUlYIy%wA6(k6fQ9`*}QC_cQnT@9m%E^Y~eP)Xyy6v*Ufg zBmLR?@%4@Rd3XP49^OBz`}rM>_k6FW`~GL^_wgfrmj5VzRL@cWsJ>bL5#PQ2zP=Iv OEZ+0^c&~f>QT-=5